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。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对于第三方的用法分析的比较好的博客, 总是有很多, 来源自网络汇总! 1. 下载 AFNetworking(点我)...
    李小六_阅读 7,645评论 1 19
  • 1.在开发的时候可以创建一个工具类,继承自我们的AFN中的请求管理者,再控制器中真正发请求的代码使用自己封装的工具...
    红楼那一场梦阅读 8,828评论 2 3
  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 4,796评论 1 6
  • 第三方库使用总结 ①SDWebImage(修改ARC,Build Phases→搜索框内输入sd首字母即可(五个....
    WSGNSLog阅读 2,669评论 0 0
  • 41.+load和+initialize区别是什么? Apple的文档很清楚地说明了initialize和load...
    Lessin阅读 4,505评论 0 4