AFNetworkReachabilityManager

避免AFNetworkReachabilityManager检查网络状态AFNetworkReachabilityStatusUnknown
1、开启监听 [[AFNetworkReachabilityManager sharedManager] startMonitoring];

2、[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

    switch (status) {

        case AFNetworkReachabilityStatusNotReachable:{

            NSLog(@"无网络");

            break;

        }

        case AFNetworkReachabilityStatusReachableViaWiFi:{

            NSLog(@"WiFi网络");

            break;

        }

        case AFNetworkReachabilityStatusReachableViaWWAN:{

            NSLog(@"无线网络");

            break;

        }

        default:

            break;

    }

}];

define kNetworkNotReachability ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus <= 0) //无网

如果启动就去检测 建议延时调用

eg:[self performSelector:@selector(login:) withObject:nil afterDelay:0.35f];

由于检测网络有一定的延迟,所以如果启动app立即去检测调用[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus 有可能得到的是status == AFNetworkReachabilityStatusUnknown;但是此时明明是有网的,建议在收到监听网络状态回调以后再取[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus。

你可能感兴趣的:(AFNetworkReachabilityManager)