【iOS开发】---- Reachability 网络监测
在开发的过程中,我们需要检测网络状态,比如当前网络状态(连接,断开),网络环境(2G/3G,WIFI)等。苹果提供了一个在iOS环境下检测网络用的库:Reachability。它能方便的监测网络状态,让我们在不同的网络状态下做出对应的处理。
- Reachability能做什么
- 监测网络是否可用
- 判断当前处于什么网络环境 (2G/3G,WIFI)
- 监测连接方式的变更
- 下载
- 苹果官方:点击下载
- Git:点击下载(支持arc和GCD)
- 安装
- 使用
#import <UIKit/UIKit.h>
@class Reachability; //ADD
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (nonatomic) Reachability *hostReach;//ADD
@property (strong, nonatomic) UIWindow *window;
@end
[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(reachabilityChanged:)name:kReachabilityChangedNotificationobject:nil];self.hostReach = [Reachability reachabilityWithHostName:@"www.apple.com"];[self.hostReach startNotifier];
/** Called by Reachability whenever status changes.*/
- (void) reachabilityChanged:(NSNotification *)note
{Reachability* curReach = [note object];NSParameterAssert([curReach isKindOfClass:[Reachability class]]);[self updateInterfaceWithReachability:curReach];//更新用户界面,或者在当前状态实现你想要的处理
}
typedef enum {NotReachable = 0, //无连接ReachableViaWiFi, //使用3G/GPRS网络ReachableViaWWAN //使用WiFi网络} NetworkStatus;
// 是否wifi
+ (BOOL) IsEnableWIFI{return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);}// 是否3G
+ (BOOL) IsEnable3G{return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable);}
【iOS开发】---- Reachability 网络监测相关推荐
- iOS开发之网络监听(一)Reachability
demo下载 Reachability对系统的网络状况类SCNetworkReachability进行的封装,持有全局的网络状况句柄reachabilityRef,简化了SCNetworkReacha ...
- iOS开发系列--网络开发(转)
iOS开发系列--网络开发 2014-10-22 08:34 by KenshinCui, 66365 阅读, 56 评论, 收藏, 编辑 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微 ...
- iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载
前言:iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载是在前篇iOS开发之网络编程--使用NSURLConnection实现大文件下载的基础上进行 断点续传的设置 ...
- iOS开发工具——网络封包分析工具Charles
iOS开发工具--网络封包分析工具Charles 简介 Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Char ...
- iOS开发笔记 - 网络篇
计算机网络基础 计算机网络是多台独立自主的计算机互联而成的系统的总称,最初建立计算机网络的目的是实现信息传递和资源共享. 如果说计算机是第二次世界大战的产物,那么计算机网络则是美苏冷战的产物. ...
- iOS开发之网络音乐播放器(SC音乐)(二)
iOS开发之网络音乐播放器(SC音乐)(二) 前言 iOS开发之网络音乐播放器(SC音乐)(一)已经介绍完播放控制.音乐数据获取解析.歌词显示等.本文在上文的基础上介绍锁屏播放设置,后台播放设置,手势 ...
- iOS开发系列--网络开发
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- IOS开发之网络编程--文件压缩和解压缩
2019独角兽企业重金招聘Python工程师标准>>> 前言: QQ表情包就用到了解压缩,从网络下载的那么多表情文件格式并不是一个一个图片文件,而是多个图片压缩而成的表情压缩包.下面 ...
- iOS开发工具-网络封包分析工具Charles
简介 本文为InfoQ中文站特供稿件,首发地址为:文章链接.如需转载,请与InfoQ中文站联系. Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯 ...
- iOS开发-调试网络限速(真机和模拟器)
在iOS开发中,针对不同网络状况做一下测试处理是很有必要的.但是我发现还是有一些iOS开发者不太注意到不同网络环境下的调试问题,或者说不清楚如何调试这种情况. 下面我将针对真机和模拟器分别做简单的说明 ...
最新文章
- C语言经典例16-最大公约数和最小公倍数
- javax.swing super()方法
- Android中点击事件的四种写法
- 为节约而生:从标准Attention到稀疏Attention
- 微型计算机的三级存储体系是,简述存储系统的三级存储体系及分级的目的。
- SVN interrupted与already-locked 解决方法
- 业界萌新对斯坦纳树的小结
- 【正则化】Label Smoothing详解
- 苹果宣布将把语音助手Siri整合到Apple Music服务中
- bootstrap方法_中介效应中的bootstrap方法
- 熊出没之奇幻空间里面的机器人图片_武汉欢乐谷奇幻灯光节12月24日盛大开幕...
- winform直接控制云台_售价899元,大疆手机云台DJI OM 4发布,磁吸式卡位 15小时续航...
- ChromeOS+Win双系统安装教程
- selenium爬取京东笔记本电脑信息
- 如何越过计算机开机密码,怎样跳过电脑开机密码教程
- Linux Mint 19 Tara Beta 版发布,基于 Ubuntu 18.04
- Shopnc之nginx安装
- 2022年5月22日-Taylor级数的python实验
- C语言 模拟简单的地铁售票系统
- Linux命令总结-cd
热门文章
- Centos7虚拟机下安装配置Tomcat
- 盘一盘 QuantLib 系列 2 - 生成日期表
- 如何实现 一个系统去调用另一个系统的接口
- 微信小程序商机_盘点微信小程序的八大商机
- android tun0 流量统计,Android应用流量统计——NetworkStatsManager使用-Go语言中文社区...
- linux 内存各指标,Linux 内存性能指标
- 记录: 之前发的 Unity 2018.x工具已经不能用了,我在这里说明一下,不是破解不是破解不是破解,我就说明一下情况!!!0.0
- LETO型空间光调制器(SLM)的安装
- 十二、用卡诺图化简真值表(1)
- Android 绘制渐变色