//3.判斷網絡狀況
AFNetworkReachabilityManager *netManager = [AFNetworkReachabilityManager sharedManager];
[netManager startMonitoring]; //開始監聽
[netManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status){
if (status == AFNetworkReachabilityStatusNotReachable)
{
//showAlert
[[[UIAlertView alloc]initWithTitle:@"提示" message:@"網絡鏈接錯誤,請檢查網絡鏈接" delegate:nil cancelButtonTitle:@"我知道了" otherButtonTitles:nil, nil]show];
DLog(@"沒有網絡");
return;
}else if (status == AFNetworkReachabilityStatusUnknown){
DLog(@"未知網絡");
}else if (status == AFNetworkReachabilityStatusReachableViaWWAN){
DLog(@"WiFi");
}else if (status == AFNetworkReachabilityStatusReachableViaWiFi){
DLog(@"手機網絡");
}
}];
1.Reachability // 監聽網絡狀態改變的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil]; // 創建Reachability self.conn = [Reachability reachabilityForInternetConnection]; // 開始監控網絡(一旦網絡狀態發生改變, 就會發出通知kReachabilityChangedNotification) [self.conn startNotifier]; // 處理網絡狀態改變 - (void)networkStateChange { // 1.檢測wifi狀態 Reachability *wifi = [Reachability reachabilityForLocalWiFi]; // 2.檢測手機是否能上網絡(WIFI\3G\2.5G) Reachability *conn = [Reachability reachabilityForInternetConnection]; // 3.判斷網絡狀態 if ([wifi currentReachabilityStatus] != NotReachable) { // 有wifi NSLog(@"有wifi"); } else if ([conn currentReachabilityStatus] != NotReachable) { // 沒有使用wifi, 使用手機自帶網絡進行上網 NSLog(@"使用手機自帶網絡進行上網"); } else { // 沒有網絡 NSLog(@"沒有網絡"); } } 2.AFN // 1.獲得網絡監控的管理者 AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager]; // 2.設置網絡狀態改變后的處理 [mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { // 當網絡狀態改變了, 就會調用這個block switch (status) { case AFNetworkReachabilityStatusUnknown: // 未知網絡 NSLog(@"未知網絡"); break; case AFNetworkReachabilityStatusNotReachable: // 沒有網絡(斷網) NSLog(@"沒有網絡(斷網)"); break; case AFNetworkReachabilityStatusReachableViaWWAN: // 手機自帶網絡 NSLog(@"手機自帶網絡"); break; case AFNetworkReachabilityStatusReachableViaWiFi: // WIFI NSLog(@"WIFI"); break; } }]; // 3.開始監控 [mgr startMonitoring];