【发布时间】:2015-04-17 20:17:39
【问题描述】:
我正在尝试使用 AFNetworking 检测设备上的互联网是否正常工作;在SO上提到了这里的答案
AFNetworking 2.0 Reachability 。我能够检测到设备是否与 WiFi 或 3G 连接..
问题是实际上互联网无法正常工作,就像 WIFI 开启但互联网无法正常工作。
我如何检测互联网是否正常工作。就像我们使用 ping 进行检查....
我正在使用以下方法进行检查
-(BOOL)connected {
__block BOOL reachable;
// Setting block doesn't means you area running it right now
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusNotReachable:
NSLog(@"No Internet Connection");
reachable = NO;
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"WIFI");
reachable = YES;
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@"3G");
reachable = YES;
break;
default:
NSLog(@"Unkown network status");
reachable = NO;
break;
}
}];
// and now activate monitoring
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
return reachable;
}
【问题讨论】:
-
如果需要防火墙登录而不是在设备连接到 wifi 或 3g 的情况下无法访问互联网。
-
在我的情况下不需要登录,但即使需要登录,我也需要检查当发现 AFNetworkReachabilityStatusReachableViaWiFi 为 TRUE 时,我是否能够从设备 ping 说 google.com
-
你可以检查同样的问题:stackoverflow.com/questions/15146607/…
标签: ios afnetworking-2