iOS网络 - AFNetworking检测网络状态

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网络下");
            }
                
        }
    }];

你可能感兴趣的:(iOS网络 - AFNetworking检测网络状态)