1.創(chuàng)建監(jiān)聽管理者
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
2.打開檢測開始檢測網(wǎng)絡狀態(tài)
[manager startMonitoring];
3.監(jiān)聽網(wǎng)絡狀態(tài)的改變
AFNetworking 中四個狀態(tài)的枚舉值如下:
typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
AFNetworkReachabilityStatusUnknown = -1, //未知
AFNetworkReachabilityStatusNotReachable = 0, //無連接
AFNetworkReachabilityStatusReachableViaWWAN = 1, //3G
AFNetworkReachabilityStatusReachableViaWiFi = 2, //WIFI
};
為了方便大家更好的清晰的看出網(wǎng)絡狀態(tài), 這里我寫了個判斷以及對應專挑的輸出:
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusUnknown:
{
//未知網(wǎng)絡
NSLog(@"未知網(wǎng)絡");
}
break;
case AFNetworkReachabilityStatusNotReachable:
{
//無法聯(lián)網(wǎng)
NSLog(@"無法聯(lián)網(wǎng)");
}
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
{
//手機自帶網(wǎng)絡
NSLog(@"當前使用的是2g/3g/4g網(wǎng)絡");
}
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
{
//WIFI
NSLog(@"當前在WIFI網(wǎng)絡下");
}
}
}];