iOS網絡監控:BMReachability

jopen 9年前發布 | 11K 次閱讀 iOS開發 移動開發 BMReachability

1. What's BMReachability?


BMReachability是基于AFNetworking的Reachability類封裝的監聽網絡狀態變化的組件。 它在AF提供的無網絡/wifi/蜂窩網絡判斷的基礎上,增加了對2G/3G/4G網絡的判斷。

typedef NS_ENUM(NSInteger, BMNetworkReachabilityStatus) {

     BMNetworkReachabilityStatusUnknown = -1, 

     BMNetworkReachabilityStatusNotReachable = 0, 

     BMNetworkReachabilityStatusReachableViaWWAN = 1,

     BMNetworkReachabilityStatusReachableViaWiFi = 2,

     BMNetworkReachabilityStatusReachableVia2G = 3, 

    BMNetworkReachabilityStatusReachableVia3G = 4, 

    BMNetworkReachabilityStatusReachableVia4G = 5,

 };

2. 系統要求:

最低要求支持 iOS 7.0 版本

3. How To Use?

在你的類中導入BMReachability.h頭文件,增加BMAddNetworkStatusObserver(self)監聽,并實現 BMNetworkStatusProtocol,在監聽對象銷毀時請注意移除監聽 BMRemoveNetworkStatusObserver(self)

Example:

- (void)dealloc{ 

     BMRemoveNetworkStatusObserver(self); 

}

- (void)viewDidLoad { 

    [super viewDidLoad]; 

    BMAddNetworkStatusObserver(self);

 } 

#pragma mark - BMNetworkStatusProtocol

- (void)networkStatusDidChangedFromStatus:(BMNetworkReachabilityStatus)fromStatus 

                                                           toStatus:(BMNetworkReachabilityStatus)toStatus{

         NSLog(@"*****************************************"); 

          if (fromStatus != toStatus) { 

               NSLog(@"========狀態改變了啊========="); 

          } 

           NSLog(@"fromStatus: %@ toStatus: %@",@(fromStatus),@(toStatus)); 

           NSString *statusStr = [[BMEnvObserverCenterNetworkStatus defaultCenter] currentNetWorkStatusString]; 

           NSLog(@"當前網絡狀態為: %@",statusStr);

}

特別提示: 你必須要在監聽類銷毀時調用BMAddNetworkStatusObserver(self);

項目主頁:http://www.baiduhome.net/lib/view/home/1439187897223

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!