转载 iOS全局检测网络变化的实时状态
昨天浏览了cocoaChina,发现了一遍文章是优化Reachablity框架的出来的检测网络类,大家都知道这个Reachablity框架是用来检测网络变化的!但是也是有一点bug,事实上,基于此方案的所有实现,都无法帮助我们检测真正的网络连接状态,它们能检测的只是本地连接状态;这种情况包括但不限于如下场景:
1.现在很流行的公用wifi,需要网页鉴权,鉴权之前无法上网,但本地连接已经建立;
2.存在了本地网络连接,但信号很差,实际无法连接到服务器;
3.iOS连接的路由设备本身没有连接外网。
感谢管振纬的分享,以下链接为RealReachability,一个比Reachablity更好用的网络框架!http://www.cocoachina.com/ios/20160224/15407.html
大家觉得麻烦的话,直接看我的代码就好了,利用RealReachability做出来的网络检测demo!代码不多!除了全局检测网络变化,我还加了不管在哪个类都可以判断是否可用和获取当前的网络状态,希望能帮助到大家!
使用方法:
1、点击上面的链接下载RealReachability,把RealReachability文件夹拖入到工程2、最简便的集成方法当属pod: pod 'RealReachability
3、依赖:Xcode5.0+,支持ARC, iOS6+.项目需要引入SystemConfiguration.framework.
![](http://upload-images.jianshu.io/upload_images/1036245-d7f5fabef64dbf86.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
创建两个成员属性
![](http://upload-images.jianshu.io/upload_images/1036245-9e9d2e3c21e84423.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
导入头文件
![](http://upload-images.jianshu.io/upload_images/1036245-f77dda10455c3369.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
接收通知
![](http://upload-images.jianshu.io/upload_images/1036245-c39c616675c70b4f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
实现通知方法
![](http://upload-images.jianshu.io/upload_images/1036245-4395da963c251b0d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
以下就是我们在别的控制器获取当前的网络状态和网络是否可用!
![](http://upload-images.jianshu.io/upload_images/1036245-afac3084e6fd61c8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
导入头文件
![](http://upload-images.jianshu.io/upload_images/1036245-c51053862c065a88.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
ok!就这样就完成了!写的不好,希望大家多多提点,喜欢的点个赞,鼓励下!哈哈
人这一辈子没法做太多的事情,
所以每一件都要做得精彩绝伦。
你的时间有限,
所以不要为别人而活。
不要被教条所限,
不要活在别人的观念里。
不要让别人的意见左右自己内心的声音。
最重要的是,
勇敢的去追随自己的心灵和直觉,
只有自己的心灵和直觉才知道你自己的真实想法,
其他一切都是次要。
工作是生活的一部分,所以工作不能全部占用于生活。