Skip to content

pjk1129/BMReachability

Repository files navigation

BMReachability

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,
	};

Requirements

最低要求支持 iOS 7.0 版本

How To Use?

1.在你的类中导入BMReachability.h头文件;

2.增加BMAddNetworkStatusObserver(self)监听,并实现BMNetworkStatusProtocol;

3.在监听对象销毁时请注意移除监听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);
	}

特别提示: 你必须要在监听类销毁时调用BMRemoveNetworkStatusObserver(self);

Author

iJecky http://weibo.com/rubbishpicker

License

BMReachability is available under the MIT license. See the LICENSE file for more info.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages