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

iOS网络监控— BMReachability的更多相关文章

  1. 如何实现一个IOS网络监控组件

    此文由作者朱志强授权网易云社区发布. Mobile Application Monitor IOS组件设计技术分享 背景 应用程序性能管理Application Performance Managem ...

  2. iOS中 WGAFN_网络监控 技术分享

    需要用到第三方AFNetworking/SVProgressHUD 没有的可以关注我微博私信我.http://weibo.com/hanjunqiang AppDelegate.m #import & ...

  3. iOS网络相关知识总结

    iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...

  4. iOS网络监测方法

    方法一(官方): Reachability ============================================================================== ...

  5. Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager)

    Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager) 本篇主要讲解iOS开发中的网络监控 前言 在开发中,有时候我们需要获取这些信息: 手机是否联网 ...

  6. iOS 网络操作与AFNetworking

    一.早前的几个网络框架 1.ASI框架: HTTP终结者.很牛, 但是有BUG, 已经停止更新. 2.MKNetworkKit (印度人写的). 3.AFN一直还在更新. AFNetworking的出 ...

  7. [翻译] PBJNetworkObserver 网络监控

    PBJNetworkObserver 网络监控 https://github.com/piemonte/PBJNetworkObserver Introduction 'PBJNetworkObser ...

  8. iOS网络高级编程:iPhone和iPad的企业应用开发之错误处理

    本章内容 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWluZ2h1YXdlbmthbmc=/font/5a6L5L2T/fontsize/400/fi ...

  9. servercat IOS Linux监控 SSH客户端

    servercat IOS Linux监控 SSH客户端 iOS 平台上新出的一个挺有趣的服务器监控 + SSH 客户端. 监控服务器状态,内存.CPU.网络 还能对Docker容器进行监控 价格:¥ ...

随机推荐

  1. hdu 3001 三进制状压

    题意:tsp问题,但是每个点可以最多走两次 链接:点我 转移方程见代码 #include<iostream> #include<cstdio> #include<cstr ...

  2. 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 ...

  3. 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 ...

  4. 经典笛卡尔积SQL

    经典笛卡尔积SQL: 下面的SQL会造成笛卡尔积: insert into tydic.temp_0731 select a.user_id,a.province_code,b.attr_code f ...

  5. Wix使用整理(一)

    由于工作需要,学习了一段时间Wix,总算小有起色.鉴于国内Wix  的普及和使用有限,这里将个人遇到得问题和解决方案记录下来,以便交流和相互促进. Wix :全称 Windows Installer ...

  6. openfire Hazelcast插件集群配置

    原文:http://blog.csdn.net/frankcheng5143/article/details/48708899 注意虽然hazelcast 官方已经有了3.5.2版本,但是openfi ...

  7. EF6 MVC5译文

    Contoso大学的Web应用程序 你在本教程中将建立一个简单的大学网站. 用户可以查看和更新学生信息,当然也包括教师的.下列图表是你将创建的应用程序截屏. 本网站的UI样式来源于内置的模板,所以教程 ...

  8. Python学习(四)数据结构 —— set frozenset

    集合类型 set  frozenset 赋值及去重 set 是一个无序不重复元素集,还有个frozenset 类型(顾明思议,就是不可改变元素的集合): 基本功能包括关系测试和消除重复元素:set支持 ...

  9. idea的一些快捷键

    查找文本的出现位置就用Ctrl+F/Ctrl+Shift+F在当前窗口或全工程中查找,再配合F3/Shift+F3前后移动到下一匹配处Intellij的Ctrl+N/Ctrl+Shift+N可以打开类 ...

  10. C#-MessageBox全部函数重载形式及举例

    Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.D ...