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網絡下");
}
}
}];