我使用viewWillAppear
方法在我的iphone应用中调用了一些网络服务(这是必要的)。
当我锁定设备然后将其解锁时,它会向我显示一个警告没有互联网连接,这实际上是我在没有无线网络时可以使用的警报。
我不知道如何解决这个问题。请帮助我。提前谢谢。
答案 0 :(得分:0)
根据设备锁定的时间长短,可能需要重新获取与手机信号塔或WiFi接入点的连接。您无法围绕此硬件限制进行编码,但您可以根据应用的处理方式进行调整。
一种解决方案是将所需的viewWillAppear
操作存储在块ivar中,然后在执行块之前检查是否存在Internet连接。如果你有一个,那么像正常一样执行块。如果您没有,请等待Reachability(a more modern version也可用)通知,以指示您再次建立连接,然后执行该块。请注意,如果用户位于没有连接的区域中,则此块可能永远不会执行。
答案 1 :(得分:0)
如果设备丢失互联网连接,除了确保在返回应用程序后重新检查时,您无能为力。您应该在AppDelegate.m方法中执行此操作:
-(void)applicationWillEnterForeground:(UIApplication *)application
然后发布通知(1)并在您需要此信息的类中向其添加观察者(2)。 例如:
(1) [[NSNotificationCenter defaultCenter] postNotificationName:kConnectionChangedNotification object:nil];
(2) [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(methodToCallIfConnectionChanged:) name:kConnectionChangedNotification object:nil];