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];

你可能感兴趣的:(iOS下的实际网络连接状态检测)