iOS下的实际网络连接状态检测

RealReachability简单介绍

RealReachability是github的开源库, 此框架开发的初衷来源于项目实际需求,离线模式对网络连接状态的要求比较苛刻,且实际场景经常会遇到“伪连接”的情况,Reachability面对此场景力不从心。多方研究后引入了ping能力(此方案流量开销最小,也最简单),实现了简单的实际网络连接监测;

集成和使用介绍

集成

最简便的集成方法当属pod: pod 'RealReachability'。

手动集成:将RealReachability文件夹加入到工程即可。

依赖:Xcode5.0+,支持ARC, iOS6+.项目需要引入SystemConfiguration.framework.

使用介绍

其接口的设计和调用方法和Reachability非常相似,大家可以无缝上手,非常方便。 开启网络监听:

[GLobalRealReachability startNotifier];

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(networkChanged:)

name:kRealReachabilityChangedNotification

object:nil];

回调代码示例

- (void)networkChanged:(NSNotification *)notification

{

RealReachability *reachability = (RealReachability *)notification.object;

ReachabilityStatus status = [reachability currentReachabilityStatus];

NSLog(@"currentStatus:%@",@(status));

}

触发实时网络状态查询代码示例:

[GLobalRealReachability reachabilityWithBlock:^(ReachabilityStatus status) {

switch(status)

{

caseNotReachable:

{

//  case NotReachable handler

break;

}

caseReachableViaWiFi:

{

//  case ReachableViaWiFi handler

break;

}

caseReachableViaWWAN:

{

//  case ReachableViaWWAN handler

break;

}

default:

break;

}

}];

查询当前实际网络连接状态:

1ReachabilityStatus status = [reachability currentReachabilityStatus];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。