我开发了iOS 7应用程序。 在我的应用程序中,我需要检测网络连接是否发生了变化(3g \ wifi \ etc)。 如果是这样,我会重新连接我的服务。
一旦应用程序恢复到前台,我无法确定可达性是否可以检测到网络连接的变化。
假设以下情形:
推出应用
用户将应用移至后台,进入Facebook
应用已暂停
用户从3g切换到wifi
用户返回我的应用
可达性是否会检测到此连接更改?
答案 0 :(得分:4)
使用Rechability课程,您可以找到所有此类通知/功能。希望有所帮助。
答案 1 :(得分:2)
我有一个应用程序,必须连接到WiFi并检测接入点何时更改或在所有依赖于它的视图控制器上断开连接。我使用Reachability通知机制。
对于我的应用,当我将应用程序带回前台时,Reachability会检测到WiFi更改。所以它确实做你想做的事。
我不得不说,虽然我没有发现Reachability是100%可靠的。大部分时间它按预期工作,但不完美。
作为备份,我在大多数视图控制器的viewWillAppear
中检查当前网络。当应用程序返回到前台时这没有用,因为据我所知,viewWillAppear
没有被调用。您可以检测应用程序委托中的更改。
答案 2 :(得分:0)
如果我理解正确,您可以在每次应用进入前台时检查可达性,例如:
- (void)applicationWillEnterForeground:(UIApplication *)application
{
//Check the Reachability here;
}