2015-04-28 36 views
3

我开发了iOS 7应用程序。 在我的应用程序中,我需要检测是否发生网络连接更改(3g \ wifi \ etc)。 如果是这样,我会执行一些与我的服务重新连接。当应用程序进入前台时,iOS可访问性是否检测到网络更改

我无法弄清楚,一旦应用程序恢复到前台,可达性是否可以检测到网络连接的变化。

假设以下情形:

  1. 应用发起

  2. 用户移动应用背景,那张在Facebook上

  3. 应用被暂停从3G到

  4. 用户交换机wifi

  5. 用户返回我的应用程序

可否检测到此连接更改?

+0

这是应该的,这听起来像一个简单的场景来测试。你试过了吗? –

+0

问题是,我不完全确定如果我测试它不影响结果(特别是使用调试器时,甚至写入远程日志)。想要一个明确的答案 – vondip

+0

使用Rechability类,因为你可以找到几乎所有这些变化的通知。希望有所帮助。 – Mrunal

回答

2

我有一个应用程序必须连接到WiFi,并检测访问点更改或断开所有取决于它的视图控制器。我使用可达性通知机制。

对于我的应用程序,当我将应用程序带回前台时,可达性检测到WiFi更改。所以它确实做你想做的事。我不得不说,虽然我没有发现可达性是100%可靠的。大部分时间按您期望的那样工作,但并不完美。

作为备份,我在大多数视图控制器上检查当前网络viewWillAppear。这在应用程序回到前台时不起作用,因为据我所知viewWillAppear未被调用。尽管您可以检测应用程序委托中的更改。

4

使用Rechability类,因为你可以找到所有这些通知/功能。希望有所帮助。

0

如果我理解你的权利,你可以检查每一个你的应用程序进入前台时间可达性,一些事情,如:

- (void)applicationWillEnterForeground:(UIApplication *)application 
{ 
//Check the Reachability here; 
} 
相关问题