iOS 实时监测网络状态
2017-06-14 本文已影响168人
浩青
最近公司需求APP在无网络下提示用户所以整理下自己写的代码,方便自己查阅以及给大家带来一点思路。
我采用的是AFNetwork下的AFNetworkReachabilityManager
代码也比较简单就直接上代码了
在AppDeleagate类里
@property(strong,nonatomic) AFNetworkReachabilityManager *netManager;
//网络监测
- (void)network{
_netManager = [AFNetworkReachabilityManager sharedManager];
[_netManager startMonitoring];
[_netManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusUnknown:
DLog(@"未知网络");
break;
case AFNetworkReachabilityStatusNotReachable:
DLog(@"无网络");
// 没有网络的时候发送通知
[[NSNotificationCenter defaultCenter] postNotificationName:NotificationNoNetwork object:nil];
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
DLog(@"网络数据连接");
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
DLog(@"wifi连接");
break;
default:
break;
}
}];
写在didFinishLaunchingWithOptions方法里,在此我用的是通知以发送没有网络,写了一个父类 需要接受通知的继承该父类。最后大家一定要记得移除通知