AFNetworking 2.0 可达性不起作用

Posted

技术标签:

【中文标题】AFNetworking 2.0 可达性不起作用【英文标题】:AFNetworking 2.0 Reachability not working 【发布时间】:2013-10-07 19:08:01 【问题描述】:

我在使 AFNetworking 可达性模块工作时遇到了一些问题。我已经使用 ReachabilityStatusChangeBlock 设置了我的 AFHTTPRequestOperationManager,但它从未被调用过。

self.manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://192.168.1.2:3000"]];
    self.manager.responseSerializer = [AFJSONResponseSerializer serializer];
    NSOperationQueue *operationQueue = self.manager.operationQueue;
    [self.manager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) 
        switch (status) 
            case AFNetworkReachabilityStatusNotReachable:
            // we need to notify a delegete when internet conexion is lost.
            // [delegate internetConexionLost];
                NSLog(@"No Internet Conexion");
            break;
            case AFNetworkReachabilityStatusReachableViaWiFi:
                NSLog(@"WIFI");
            break;
            case AFNetworkReachabilityStatusReachableViaWWAN:
                NSLog(@"3G");
            break;
          default:
            NSLog(@"Unkown network status");
            [operationQueue setSuspended:YES];
            break;
        

如文档所述,我已在我的 .pch 中导入了 SystemConfiguration/SystemConfiguration.h。每次我询问状态时,我都会得到值 -1。

有什么帮助吗?

更新:

我在这里添加我的 PodFile:

pod 'AFNetworking'              ,'~> 2.0.0'
pod 'AFNetworking/Reachability' ,'~> 2.0.0'

【问题讨论】:

你是如何导入AFNetworking的?你在使用 CocoaPods 吗? CocoaPods。我一直在使用 AFNetworking 工作得很好!只是不工作的可达性功能。 你能说明你是如何在你的 Podfile 中包含 AFNetworking 的吗? 【参考方案1】:

我需要启动可达性监视器。

[self.manager.reachabilityManager startMonitoring]; 

我是偶然发现的,我认为文档应该说明这一点。

【讨论】:

不错的发现。请尽快接受您自己的答案 我在 AFNetworking 中提出了拉取请求。最后它是一个错误。 github.com/AFNetworking/AFNetworking/commit/… @bilby91 我想在网络重新连接时恢复所有上传任务。你能解释一下怎么可能吗?

以上是关于AFNetworking 2.0 可达性不起作用的主要内容,如果未能解决你的问题,请参考以下文章

obj-c AFNetworking 2.0 POST 请求不起作用

AFNetworking 2.0 可达性警报始终显示

AFNetworking 2.0。如何检查套接字的可达性状态(managerForAddress :)?

AFNetworking - 可达性总是返回 -1

AFNetworking 2.0:isReachable 总是返回 False

AFNetworking 2.0 多部分/表单数据上传到 mySQL