iOS网络-AFNetworking检测网络状态
2016-01-19 00:08
483 查看
可以使用AFN框架中的AFNetworkReachabilityManager来监听网络状态的改变,也可以利用苹果提供的Reachability来监听。建议在开发中直接使用AFN框架处理。
示例代码如下:
-(void)afn { //1.创建网络状态监测管理者 AFNetworkReachabilityManager *manger = [AFNetworkReachabilityManager sharedManager]; //2.监听改变 [manger setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { /* AFNetworkReachabilityStatusUnknown = -1, AFNetworkReachabilityStatusNotReachable = 0, AFNetworkReachabilityStatusReachableViaWWAN = 1, AFNetworkReachabilityStatusReachableViaWiFi = 2, */ switch (status) { case AFNetworkReachabilityStatusUnknown: NSLog(@"未知"); break; case AFNetworkReachabilityStatusNotReachable: NSLog(@"没有网络"); break; case AFNetworkReachabilityStatusReachableViaWWAN: NSLog(@"3G|4G"); break; case AFNetworkReachabilityStatusReachableViaWiFi: NSLog(@"WiFi"); break; default: break; } }];
Reachablity 是一个iOS下检测,iOS设备网络环境用的库。
苹果官方提供的Doc,下载地址: http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html
示例代码如下:
因为Reachablity只能监听网络状态的状况,不能监听它的改变,所以采用通知的方式
-(void)viewDidLoad { [super viewDidLoad]; //注册通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityStatusChange) name:kReachabilityChangedNotification object:nil]; //创建对象 Reachability *r = [Reachability reachabilityForInternetConnection]; [r startNotifier]; self.r = r; } -(void)reachabilityStatusChange { if ([Reachability reachabilityForInternetConnection].currentReachabilityStatus == ReachableViaWWAN) { NSLog(@"3G|4G"); return; } if ([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == ReachableViaWiFi) { NSLog(@"wifi"); return; } NSLog(@"未知"); } -(void)dealloc { [[NSNotificationCenter defaultCenter]removeObserver:self]; [self.r stopNotifier]; }
相关文章推荐
- Atitit. servlet 与 IHttpHandler ashx listen 和HttpModule的区别与联系 原理理论 架构设计 实现机制 java php c#.net js javascript c++ python
- Atitit. servlet 与 IHttpHandler ashx listen 和HttpModule的区别与联系 原理理论 架构设计 实现机制 java php c#.net j
- Atitit. servlet 与 IHttpHandler ashx listen 和HttpModule的区别与联系 原理理论 架构设计 实现机制 java php c#.net j
- 安装mysql时出现HTTP 500 内部服务…
- 厦门巨游网络科技有限公司(HOTPOWER)承接游戏UI外包
- GCD group在多个网络请求的响应之前就已经执行
- mac分享wifi,让手机使用电脑的网络
- iOS网络-AFNetworking序列化
- shell命令使用HDFS的distcp命令
- 【转】HTTP 头部解释
- Android HTTPS认证
- iOS网络-AFNetworking基本使用,文件下载,上传
- 网络篇-解析XML
- ios9不能使用http解决方法
- iOS网络-ZipArchive框架的文件压缩和解压
- Java API —— 网络编程
- mysql错误:Can’t create TCP/IP socket (10106) 解决方法
- (转)Java发送http请求(get 与post方法请求)
- iOS 网络错误-分类
- httpd-2.2(2)