我有这个代码来开始监控,当我使用这个虚构的域进行测试时,我仍然获得了reachableViaWWAN的状态。为什么呢?
使用cocoapods的AFNetworking 2.5.0版。我也尝试从github下载最新版本并得到同样的东西。
+ (void)startMonitoring {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
reachabilityManager = [AFNetworkReachabilityManager managerForDomain:@"thisIsNonsense.testSDK.irg"];
});
[reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status){
switch (status) {
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@"reachable viaWWAN");
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"reachable viaWiFi");
break;
case AFNetworkReachabilityStatusNotReachable:
NSLog(@"NOT reachable");
break;
default:
NSLog(@"unknown status");
break;
}
}];
[reachabilityManager startMonitoring];
}
答案 0 :(得分:0)
如果我理解AFNetworkReachabilityManager
正在检查的方式,看起来它只是使用SCNetworkReachability
看似它声称
当应用程序发送到网络堆栈的数据包可以离开本地设备时,可以认为远程主机是可达的。可达性并不能保证主机实际接收数据包。