iOS网络监控— BMReachability
2015-08-20 23:20
661 查看
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);
4. QA
欢迎交流,在使用中遇到问题,可以给留言,当然最好自己试着修改,有好的建议,也希望给留言,或者新浪微博联系我 新浪微博:http://weibo.com/rubbishpicker
github地址:https://github.com/pjk1129/BMReachability
相关文章推荐
- TCP/IP协议学习(三) STM32中ETH驱动配置注意事项
- SQL Server 建立连接时出现与网络相关的或特定于实例的错误
- No mapping found for HTTP request with URI
- Expected MultipartHttpServletRequest: is a MultipartResolver configured?
- IP地址理解_IP地址=网络地址+主机地址,但是具体前面多少是网络地址看题目说明
- OKHTTP解析json数据
- zoj 2314 Reactor Cooling 有上下界的网络最大流
- zoj 2314 Reactor Cooling 有上下界的网络最大流
- bp人工神经网络算法
- TCP/IP三次握手
- UI17_网络请求之AFN,收藏删除等文件,检查网络类型(2g,WiFi,3g)
- 黑马程序员——网络编程与设计模式
- Number Sequence(http://acm.hdu.edu.cn/showproblem.php?pid=1005)
- Flex中HTTPService与java后台通信
- 11082 - Matrix Decompressing (网络流建模|二分图匹配)
- 洛谷2038 无线网络发射器选址
- iOS如何获取手机当前的网络状态
- 一个人的旅行(http://acm.hdu.edu.cn/showproblem.php?pid=2066)SPFA||dijkstra
- TCP服务器多线程 多进程简单测试
- TCP的那些事-2