美文网首页iOS TipsiOS 常见实践iOS开发
iOS全局检测网络变化的实时状态

iOS全局检测网络变化的实时状态

作者: 游子_IT | 来源:发表于2016-02-25 09:43 被阅读3897次

    昨天浏览了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.

    创建两个成员属性 导入头文件 接收通知 实现通知方法

    以下就是我们在别的控制器获取当前的网络状态和网络是否可用!

    导入头文件

    ok!就这样就完成了!写的不好,希望大家多多提点,喜欢的点个赞,鼓励下!哈哈

    相关文章

      网友评论

      • 1条大菜狗:用这个东西检测网络状态,就是个笑话,真的。一点都不实用,网络连接中的假连接太多了,还是要用ping 功能和traceroute 辅助。
        来闹的:有什么好的检测方法么?分享下
      • 小许1955:你这个不能监测的呀!当你创建一个VC 的时候,在生命周期里面监测!状态都是0!
      • 少年_如他:这个对于检测wifi是否真正连通有问题,对于一些伪连接并不能监控..
      • liwb: 能不能 具体聊一下 遇到的 bug ,使用中我也遇到了,希望能和你交流。。。
      • c2106abf7e14:如果能分析一下他的代码就好了

      本文标题:iOS全局检测网络变化的实时状态

      本文链接:https://www.haomeiwen.com/subject/nwmikttx.html