这里我们使用第三方库* Reachability* 用于网络环境的判断
打开终端 输入命令 *pod search Reachability *
在搜寻结果中可以找到
-> Reachability (3.2)
ARC and GCD Compatible Reachability Class for iOS and OS X. Drop in
replacement for Apple Reachability.
pod 'Reachability', '~> 3.2'
- Homepage: https://github.com/tonymillion/Reachability
- Source:https://github.com/tonymillion/Reachability.git
- Versions: 3.2, 3.1.1, 3.1.0, 3.0.0 [master repo]
复制 *Source 地址 *即可找到在Github上的资源 下载
一.创建工程
在新创建的工程中导入下载好的文件中的Reachability.h 和 Reachability.m
//HostName尽量使用一个比较稳定的网站
Reachability* reachability = [ReachabilityreachabilityWithHostName:@"www.baidu.com"];
二.创建reachability的对象
HostName尽量使用一个比较稳定的网站
Reachability* reachability = [ReachabilityreachabilityWithHostName:@"www.baidu.com"];
三.添加添加观察者接受网络环境变化的通知
//kReachabilityChangedNotification网络环境变化通知的名字
//NetworkStatus网络环境的枚举
//-(NSString*)currentReachabilityString网络环境的字符串
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(change:)name:kReachabilityChangedNotificationobject:nil];
四.开始监测
//-(BOOL)startNotifier;开始通知监测
//-(void)stopNotifier;结束监测
[reachabilitystartNotifier];
五.得到通知中的reachability对象获得网络状态
-(void)change:(NSNotification*)not{
//not.object得到reachability的对象
Reachability* reachability = not.object;
NSString*status =@"";
//currentReachabilityStatus 当前状态
switch(reachability.currentReachabilityStatus) {
caseNotReachable:{
status =@"无网络";
break;
}
caseReachableViaWiFi:{
status =@"WIFI在线";
break;
}
caseReachableViaWWAN:{
status =@"移动蜂窝网络";
break;
}
default:
break;
}
NSLog(@"%@",status);
}
网友评论