- 網絡環境檢測:檢測用戶當前所處的網絡狀態
-
效果圖
-
1.當蜂窩和wifi同時關閉時候

-
顯示為不可達(AFNetworkReachabilityStatusNotReachable)狀態

- 2.打開蜂窩移動數據,關閉wifi

- 顯示為wan網絡

- 3.打開wifi,關閉蜂窩移動數據

- 顯示為wifi網絡(AFNetworkReachabilityStatusReachableViaWiFi)

- 4.同時打開wifi和蜂窩移動數據時候

- 顯示為wifi網絡,從這點來看,顯然是不坑的呀

-
步驟
- 1.創建網絡監聽者管理者對象
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
- 2.設置監聽
- 網絡狀態
//顯然是枚舉值 typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) { AFNetworkReachabilityStatusUnknown = -1,//未識別的網絡 AFNetworkReachabilityStatusNotReachable = 0,//不可達的網絡 AFNetworkReachabilityStatusReachableViaWWAN = 1,//2G,3G,4G... 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: NSLog(@"wifi的網絡"); break; default: break; } }];
- 3.開始監聽
[manager startMonitoring];
代碼
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { //創建網絡監聽管理者對象 AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager]; /* typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) { AFNetworkReachabilityStatusUnknown = -1,//未識別的網絡 AFNetworkReachabilityStatusNotReachable = 0,//不可達的網絡(未連接) AFNetworkReachabilityStatusReachableViaWWAN = 1,//2G,3G,4G... 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: NSLog(@"wifi的網絡"); break; default: break; } }]; //開始監聽 [manager startMonitoring]; }
相關鏈接:
IOS-利用AFNetworking監聽網絡狀態
