我开始使用AFNetworking
的可访问性管理器而不是Apple的Reachability
课程,但它不起作用。尽管设备上已打开互联网连接,但其可达性状态为AFNetworkReachabilityStatusUnknown
。这是我的代码:
reachabilityManager = [AFNetworkReachabilityManager sharedManager];
[reachabilityManager startMonitoring];
[reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status){
NSLog(@"Current status %@", reachabilityManager.localizedNetworkReachabilityStatusString);
}];
我把NSLog
放在了区块内,但我并不是说我在那里看到了结果。实际上从不调用该块(当我的设备具有正常的互联网连接时)。我只是在执行第一次网络请求之前检查状态,我看到它是-1
,即未知。怎么了?
这是我检查可达性状态的方法:
- (BOOL)connected
{
#if TARGET_IPHONE_SIMULATOR
return YES;
#else
NSLog(@"Status %d", reachabilityManager.networkReachabilityStatus);
return reachabilityManager.reachable;
#endif
}