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);
4. QA
欢迎交流,在使用中遇到问题。能够给留言,当然最好自己试着改动。有好的建议,也希望给留言。或者新浪微博联系我 新浪微博:http://weibo.com/rubbishpicker
iOS网络监控— BMReachability的更多相关文章
- 如何实现一个IOS网络监控组件
此文由作者朱志强授权网易云社区发布. Mobile Application Monitor IOS组件设计技术分享 背景 应用程序性能管理Application Performance Managem ...
- iOS中 WGAFN_网络监控 技术分享
需要用到第三方AFNetworking/SVProgressHUD 没有的可以关注我微博私信我.http://weibo.com/hanjunqiang AppDelegate.m #import & ...
- iOS网络相关知识总结
iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...
- iOS网络监测方法
方法一(官方): Reachability ============================================================================== ...
- Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager)
Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager) 本篇主要讲解iOS开发中的网络监控 前言 在开发中,有时候我们需要获取这些信息: 手机是否联网 ...
- iOS 网络操作与AFNetworking
一.早前的几个网络框架 1.ASI框架: HTTP终结者.很牛, 但是有BUG, 已经停止更新. 2.MKNetworkKit (印度人写的). 3.AFN一直还在更新. AFNetworking的出 ...
- [翻译] PBJNetworkObserver 网络监控
PBJNetworkObserver 网络监控 https://github.com/piemonte/PBJNetworkObserver Introduction 'PBJNetworkObser ...
- iOS网络高级编程:iPhone和iPad的企业应用开发之错误处理
本章内容 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWluZ2h1YXdlbmthbmc=/font/5a6L5L2T/fontsize/400/fi ...
- servercat IOS Linux监控 SSH客户端
servercat IOS Linux监控 SSH客户端 iOS 平台上新出的一个挺有趣的服务器监控 + SSH 客户端. 监控服务器状态,内存.CPU.网络 还能对Docker容器进行监控 价格:¥ ...
随机推荐
- hdu 3001 三进制状压
题意:tsp问题,但是每个点可以最多走两次 链接:点我 转移方程见代码 #include<iostream> #include<cstdio> #include<cstr ...
- VK Cup 2016 - Round 1 (Div. 2 Edition) C. Bear and Forgotten Tree 3 构造
C. Bear and Forgotten Tree 3 题目连接: http://www.codeforces.com/contest/658/problem/C Description A tre ...
- Inverted bipolar transistor doubles as a signal clamp
A number of circuits, such as level detectors and AM demodulators, benefit from a rectifier with a l ...
- 经典笛卡尔积SQL
经典笛卡尔积SQL: 下面的SQL会造成笛卡尔积: insert into tydic.temp_0731 select a.user_id,a.province_code,b.attr_code f ...
- Wix使用整理(一)
由于工作需要,学习了一段时间Wix,总算小有起色.鉴于国内Wix 的普及和使用有限,这里将个人遇到得问题和解决方案记录下来,以便交流和相互促进. Wix :全称 Windows Installer ...
- openfire Hazelcast插件集群配置
原文:http://blog.csdn.net/frankcheng5143/article/details/48708899 注意虽然hazelcast 官方已经有了3.5.2版本,但是openfi ...
- EF6 MVC5译文
Contoso大学的Web应用程序 你在本教程中将建立一个简单的大学网站. 用户可以查看和更新学生信息,当然也包括教师的.下列图表是你将创建的应用程序截屏. 本网站的UI样式来源于内置的模板,所以教程 ...
- Python学习(四)数据结构 —— set frozenset
集合类型 set frozenset 赋值及去重 set 是一个无序不重复元素集,还有个frozenset 类型(顾明思议,就是不可改变元素的集合): 基本功能包括关系测试和消除重复元素:set支持 ...
- idea的一些快捷键
查找文本的出现位置就用Ctrl+F/Ctrl+Shift+F在当前窗口或全工程中查找,再配合F3/Shift+F3前后移动到下一匹配处Intellij的Ctrl+N/Ctrl+Shift+N可以打开类 ...
- C#-MessageBox全部函数重载形式及举例
Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.D ...