【发布时间】:2014-02-10 17:49:29
【问题描述】:
AFNetworking 2 有什么方法可以等效
[Reachability reachabilityForLocalWiFi];
【问题讨论】:
标签: ios objective-c reachability afnetworking-2
AFNetworking 2 有什么方法可以等效
[Reachability reachabilityForLocalWiFi];
【问题讨论】:
标签: ios objective-c reachability afnetworking-2
我查看了 Apple 可访问性代码,我认为这可以完成这项工作。
- (AFNetworkReachabilityManager*) reachabilityForLocalWifi
{
struct sockaddr_in localWifiAddress;
bzero(&localWifiAddress, sizeof(localWifiAddress));
localWifiAddress.sin_len = sizeof(localWifiAddress);
localWifiAddress.sin_family = AF_INET;
// IN_LINKLOCALNETNUM is defined in <netinet/in.h> as 169.254.0.0.
localWifiAddress.sin_addr.s_addr = htonl(IN_LINKLOCALNETNUM);
return [AFNetworkReachabilityManager managerForAddress:&localWifiAddress];
}
【讨论】:
NSURL *baseURL = [NSURL URLWithString:@"http://example.com/"];
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL];
NSOperationQueue *operationQueue = manager.operationQueue;
[manager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusReachableViaWWAN:
case AFNetworkReachabilityStatusReachableViaWiFi:
[operationQueue setSuspended:NO];
break;
case AFNetworkReachabilityStatusNotReachable:
default:
[operationQueue setSuspended:YES];
break;
}
}];
我在一些项目的自定义客户端中使用它,用于检查互联网可达性。 参考afnetworking link
【讨论】: