AFNetworkreachabilitymanager 使用

避免AFNetworkReachabilityManager检查网络状态AFNetworkReachabilityStatusUnknown

1、开启监听[[AFNetworkReachabilityManagersharedManager]startMonitoring];

2、[[AFNetworkReachabilityManagersharedManager]setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatusstatus) {

switch(status) {

caseAFNetworkReachabilityStatusNotReachable:{

NSLog(@"无网络");

break;

}

caseAFNetworkReachabilityStatusReachableViaWiFi:{

NSLog(@"WiFi网络");

break;

}

caseAFNetworkReachabilityStatusReachableViaWWAN:{

NSLog(@"无线网络");

break;

}

default:

break;

}

}];

#define kNetworkNotReachability ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus <=0)  //无网

如果启动就去检测 建议延时调用

eg:[selfperformSelector:@selector(login:)withObject:nilafterDelay:0.35f];

由于检测网络有一定的延迟,所以如果启动app立即去检测调用[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus 有可能得到的是status == AFNetworkReachabilityStatusUnknown;但是此时明明是有网的,建议在收到监听网络状态回调以后再取[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus。

你可能感兴趣的:(AFNetworkreachabilitymanager 使用)