AFNetworking – 可恢复性总是返回-1

我使用最新的AFNetworking来源,可用性不适合我,它永远不会触发可用性块,[httpClient networkReachabilityStatus]总是返回-1。 SystemConfiguration / SystemConfiguration.h包含在.pch中

startMonitoringNetworkReachability被执行(在AFHTTPClient中)。

iPhone 4,iOS 6.1

有什么build议?

AFHTTPClient *httpClient = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:URL]]; [httpClient setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { NSLog(@"Internet status changed"); NSLog(@"%d", status); }]; NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:method parameters:post]; NSLog(@"Network reach %d",[httpClient networkReachabilityStatus]); AFJSONRequestOperation *operation = [self getOperationWithMethod:method withRequest:request andCallback:callback]; [operation start]; 

假设你使用ARC,块可能永远不会被解雇,因为一旦这个方法完成,你的httpClient就会被释放。

要解决这个问题,你需要创build你的httpClient作为一个stronghttpClient ,比如:

 @property (nonatomic, strong) AFHTTPClient *httpClient;