为什么这可以到达?

时间:2015-01-21 19:37:19

标签: ios afnetworking afnetworking-2

我有这个代码来开始监控,当我使用这个虚构的域进行测试时,我仍然获得了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];
}

1 个答案:

答案 0 :(得分:0)

如果我理解AFNetworkReachabilityManager正在检查的方式,看起来它只是使用SCNetworkReachability看似它声称

  

当应用程序发送到网络堆栈的数据包可以离开本地设备时,可以认为远程主机是可达的。可达性并不能保证主机实际接收数据包。

docs