我正在开发一个iPad应用程序,它需要经常连接到公共托管的app服务器。我有一个Wi-Fi网络,它需要身份验证,并且在登录30分钟后超时。
我正在使用Reachability类,但我无法在我的应用程序中获得我想要的网络感知。每当用户连接/断开Wi-Fi网络时,可达性类都会小心处理,但在身份验证超时的情况下,可达性类给出的结果是错误的。
Reachability *internetReach=[Reachability reachabilityWithHostName:@"www.google.com"];
if ([internetReach currentReachabilityStatus] == NotReachable) {
[self alertMessage:@"Wi-Fi connection not available"];
}当Wi-Fi超时时,我没有收到预期的警报消息。我需要的是我的应用程序应该识别Wi-Fi已经超时,它应该自动为用户打开Safari Wi-Fi身份验证表(就像在app Store、YouTube等中发生的那样)。
发布于 2012-02-07 15:40:20
我想你遗漏了一些代码。首先,您必须启动通知程序,然后您需要存储Reachability引用,例如作为属性。然后,您需要实现通知方法。更改后,您的代码可能如下所示:
-(void)viewWillAppear:(BOOL)animated {
Reachability *internetReach=[Reachability reachabilityWithHostName:@"www.google.com"];
[internetReach startNotifier];
self.internetReachable = internetReach;
}
-(void)checkNetworkStatus:(NSNotification*)notice;
{
NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
if ([internetReachable currentReachabilityStatus] == NotReachable) {
[self alertMessage:@"Wi-Fi connection not available"];
}
}https://stackoverflow.com/questions/9127334
复制相似问题