ios网络状态的检测

时间:2022-02-15 09:23:37


1.Reachability检测网络

使用之前请从Apple网站下载示例:点击下载(1)将Reachability.h 和 Reachability.m 源码导入项目中(2)添加框架SystemConfiguration.framework(3)导入#import "Reachability.h"头文件
+ (BOOL)isExistenceNetwork{        BOOL isExistenceNetwork;       Reachability *reachability = [Reachability reachabilityWithHostName:@"www.apple.com"];        switch([reachability currentReachabilityStatus]){                 case NotReachable: isExistenceNetwork = FALSE;                break;       case ReachableViaWWAN: isExistenceNetwork = TRUE;             break;        case ReachableViaWiFi: isExistenceNetwork = TRUE;            break;        }     return isExistenceNetwork;}

2.AFNetworking中AFNetworkReachabilityManager监测网络状态

- (void)reachability
{
// 1.获得网络监控的管理者
AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager]
// 2.设置网络状态改变后的处理
[mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
// 当网络状态改变了, 就会调用这个block
switch (status) {
case AFNetworkReachabilityStatusUnknown: // 未知网络
NSLog(@"未知网络");
break;
case AFNetworkReachabilityStatusNotReachable: // 没有网络(断网)
NSLog(@"没有网络(断网)");
break;
case AFNetworkReachabilityStatusReachableViaWWAN: // 手机自带网络
NSLog(@"手机自带网络");
break;
case AFNetworkReachabilityStatusReachableViaWiFi: // WIFI
NSLog(@"WIFI");
break;
}
}];
// 3.开始监控
[mgr startMonitoring];
}


转载自:http://www.jianshu.com/p/a7f73217f676