標籤:
1. What‘s BMReachability?
BMReachability monitors the reachability of domains for both WWAN and WiFi network interfaces. This is a drop-in replacement for AFNetworking‘s Reachability class. It is ARC-compatible, and it uses the delegate methods to notify of network interface changes. It supports the use of blocks for when the network becomes reachable and unreachable. It provides monitor 2G/3G/4G network interface changes.
2. System Requirements
requires iOS 7.0 minimum deployement version.
3. How To Use
Just #import the BMReachability.H header, add BMAddNetworkStatusObserver(self) in your code, and implement BMNetworkStatusProtocol.
typedef NS_ENUM(NSInteger, BMNetworkReachabilityStatus) {
BMNetworkReachabilityStatusUnknown = -1,
BMNetworkReachabilityStatusNotReachable = 0,
BMNetworkReachabilityStatusReachableViaWWAN = 1,
BMNetworkReachabilityStatusReachableViaWiFi = 2,
BMNetworkReachabilityStatusReachableVia2G = 3,
BMNetworkReachabilityStatusReachableVia3G = 4,
BMNetworkReachabilityStatusReachableVia4G = 5,
};
Example:
(void)dealloc{ BMRemoveNetworkStatusObserver(self); }
(void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self button]; BMAddNetworkStatusObserver(self); }
(void)networkStatusDidChangedFromStatus:(BMNetworkReachabilityStatus)fromStatus toStatus:(BMNetworkReachabilityStatus)toStatus{
NSLog(@"*****************************************"); if (fromStatus != toStatus) { NSLog(@"========狀態改變了啊========="); }
NSLog(@"fromStatus: %@ toStatus: %@",@(fromStatus),@(toStatus));
NSString *statusStr = [[BMEnvObserverCenterNetworkStatus defaultCenter] currentNetWorkStatusString]; NSLog(@"當前網路狀態為: %@",statusStr);
}
Warning: You must remove Network Status Observer
4. QA
歡迎交流,在使用中遇到問題,可以給留言,當然最好自己試著修改,有好的建議,也希望給留言,或者新浪微博聯絡我 新浪微博:http://weibo.com/rubbishpicker
github地址:https://github.com/pjk1129/BMReachability
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
iOS網路監控— BMReachability