AFNetworking 2.0可访问性错误报告无法访问 - AFNetworkReachabilityStatusNotReachable

时间:2014-02-08 20:25:38

标签: ios reachability afnetworking-2

我正在使用AFNetworking 2.0的可访问性功能,如其示例代码中所述 - 我在本地LAN中有一个测试服务器,我的iOS App在测试期间与之通信。当我在启用了WLAN的模拟器中运行应用程序时,AFNetworking最初报告服务器/ URL是可访问的,但随后将其更改回不可访问(即使服务器在那里,可访问且WLAN工作正常)。这意味着它会关闭操作队列,以便应用程序不会与服务器通信,即使它肯定可以。

为什么AFNetworking错误地将本地服务器/ URL报告为无法访问的任何建议?

这是我的代码:

AFHTTPRequestOperationManager *mgr = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://192.168.188.20:3000/"]];
NSOperationQueue *operationQueue = self.httpManager.operationQueue;

[mgr.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)
   {
        NSLog(@"Reachability for %@ has changed to %@", @"http://192.168.188.20:3000/",AFStringFromNetworkReachabilityStatus(status));


        switch (status) {
            case AFNetworkReachabilityStatusReachableViaWWAN:
            case AFNetworkReachabilityStatusReachableViaWiFi:
                NSLog(@"re-enabling operation queue");
                [operationQueue setSuspended:NO];
                break;
            case AFNetworkReachabilityStatusNotReachable:
            default:
                NSLog(@"disabling operation queue");
                [operationQueue setSuspended:YES];
                break;
        }
    }];

当我运行应用程序时,我得到以下日志输出 - WLAN工作正常,本地服务器正在以给定的IP和端口号运行:

Jan 31 13:21:04  MyApp[10671] <Warning>: Reachability for http://192.168.188.20:3000/ has changed to Reachable via WiFi
Jan 31 13:21:04  MyApp[10671] <Warning>: re-enabling operation queue
Jan 31 13:21:04  MyApp[10671] <Warning>: Reachability for http://192.168.188.20:3000/ has changed to Not Reachable
Jan 31 13:21:04  MyApp[10671] <Warning>: disabling operation queue`

当我使用实时服务器(即本地LAN之外)尝试时,会发生同样的事情。然而,它并不总是发生。

还有其他人经历过这个吗?在最初被正确报告为正常后,为什么可达性被错误地更改回Not Notachable的任何建议?

0 个答案:

没有答案