当应用程序进入前台时,iOS可访问性是否检测到网络更改

时间:2015-04-28 14:12:16

标签: ios reachability

我开发了iOS 7应用程序。 在我的应用程序中,我需要检测网络连接是否发生了变化(3g \ wifi \ etc)。 如果是这样,我会重新连接我的服务。

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

假设以下情形:

  1. 推出应用

  2. 用户将应用移至后台,进入Facebook

  3. 应用已暂停

  4. 用户从3g切换到wifi

  5. 用户返回我的应用

  6. 可达性是否会检测到此连接更改?

3 个答案:

答案 0 :(得分:4)

使用Rechability课程,您可以找到所有此类通知/功能。希望有所帮助。

答案 1 :(得分:2)

我有一个应用程序,必须连接到WiFi并检测接入点何时更改或在所有依赖于它的视图控制器上断开连接。我使用Reachability通知机制。

对于我的应用,当我将应用程序带回前台时,Reachability会检测到WiFi更改。所以它确实做你想做的事。

我不得不说,虽然我没有发现Reachability是100%可靠的。大部分时间它按预期工作,但不完美。

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

答案 2 :(得分:0)

如果我理解正确,您可以在每次应用进入前台时检查可达性,例如:

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