1.创建监听管理者
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
2.打开检测开始检测网络状态
[manager startMonitoring];
3.监听网络状态的改变
AFNetworking 中四个状态的枚举值如下:
typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
AFNetworkReachabilityStatusUnknown = -1, //未知
AFNetworkReachabilityStatusNotReachable = 0, //无连接
AFNetworkReachabilityStatusReachableViaWWAN = 1, //3G
AFNetworkReachabilityStatusReachableViaWiFi = 2, //WIFI
};
为了方便大家更好的清晰的看出网络状态, 这里我写了个判断以及对应专挑的输出:
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusUnknown:
{
//未知网络
NSLog(@"未知网络");
}
break;
case AFNetworkReachabilityStatusNotReachable:
{
//无法联网
NSLog(@"无法联网");
}
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
{
//手机自带网络
NSLog(@"当前使用的是2g/3g/4g网络");
}
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
{
//WIFI
NSLog(@"当前在WIFI网络下");
}
}
}];