可达性误报

时间:2011-08-23 00:05:02

标签: iphone objective-c xcode cocoa-touch reachability

我的Reachability代码出现误报。当网络可用但未激活时,我得到UIAlert"无互联网连接"很感谢任何形式的帮助。

//Check for Internet
Reachability* wifiReach = [[Reachability reachabilityWithHostName: @"www.apple.com"] retain];
NetworkStatus netStatus = [wifiReach currentReachabilityStatus];
switch (netStatus)
{
    case NotReachable:
    {
        NSLog(@"Access Not Available");
        break;
    }

    case ReachableViaWWAN:
    {
        NSLog(@"Reachable WWAN");
        break;
    }
    case ReachableViaWiFi:
    {
        NSLog(@"Reachable WiFi");
        break;
    }
}

if (netStatus==NotReachable){
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Internet Required" message:@"There is no internet connection. Please connect and try again" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
    [alert show];
    [alert release];
    [self.tableView deselectRowAtIndexPath:indexPath animated:YES];

}else{
    //Push Controller
}

1 个答案:

答案 0 :(得分:1)

与上一个问题相同的答案。

在您的应用或某个以前的应用尝试连接并等待数据后,可访问性有时只会给出正确的答案。因此,您可能只是尝试从连接中获取数据,因为这可能比询问Reachability API更快地为您提供更正确的答案。也许只是让用户决定一个活动指标已经旋转了足够长的时间。