iOS浅谈如何进行网络判断

由于近段时间工作太忙,博客都有一段时间没有进行更新了,现在就来浅谈一下网络的判断,如有错误请各位大神能够指出来共同学习一下,谢谢!下面就进入正题了:

1.添加源文件(两个)下载地址:http://code4app.com/ios/Reachability/509743dc6803fae669000000

2.导入框架[SystemConfiguration.framework]

3.创建网络连接

3.1 创建互联网连接的对象

Reachability *reach1 = [Reachability reachabilityForInternetConnection];

3.2 创建本地wifi连接

Reachability *reach2 = [Reachability reachabilityForLocalWiFi];

3.3 创建服务器网络连接(重要)

Reachability *reach3 = [Reachability reachabilityWithHostname:@"www.baidu.com"];

4.判断网络

-(BOOL)isReachable; 是否可用

-(BOOL)isReachableViaWWAN; WWAN是否可用

-(BOOL)isReachableViaWiFi; WiFi是否可用

5.启动通知

[reach1 startNotifier];

6.注册通知

注册通知

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkChange:) name:kReachabilityChangedNotification object:nil];

7.注销通知

[[NSNotificationCenter defaultCenter] removeObserver:self name:kReachabilityChangedNotification object:nil];

时间: 2024-10-24 21:13:16

iOS浅谈如何进行网络判断的相关文章

iOS 浅谈架构 架构设计的方法论

摘要:iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第一篇,主要讲架构设计的通识和方法论等,同时还讨论了大家关心的架构分层.是否要有common文件夹等问题. 缘由 之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验.在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android app的架构,你会从哪些方面来说呢? 当时看到这个问题正好在乘公车回家的路上

[iOS]浅谈NSRunloop工作原理和相关应用

一. 认识NSRunloop  1.1 NSRunloop与程序运行 那么具体什么是NSRunLoop呢?其实NSRunLoop的本质是一个消息机制的处理模式.让我们首先来看一下程序的入口——main.m文件,一个ios程序启动后,只有短短的十行代码居然能保持整个应用程序一直运行而没有退出,是不是有点意思?程序之所以没有直接退出是因为UIApplicationMain这个函数内部默认启动了一个跟主线程相关的NSRunloop对象,而UIApplicationMain这个函数一直执行没有返回就保存

浅谈TCP/IP网络编程中socket的行为

我认为,想要熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉: . TCP/IP协议(如连接的建立和终止.重传和确认.滑动窗口和拥塞控制等等) . Socket I/O系统调用(重点如read/write),这是TCP/IP协议在应用层表现出来的行为. . 编写Performant, Scalable的服务器程序.包括多线程.IO Multiplexing.非阻塞.异步等各种技术. 关于TCP/IP协议,建议参考Richard Stevens的<TCP/IP Illust

浅谈运营商网络业务限速

无论在企业网还是运营商网络中,流量限速是一个逃不开的话题.在企业网中,开启限速主要是为了对带宽的合理运用:在运营商网络中,限速是为了成本和资费,一是向上级运营商付款,二是向下级客户收费.本篇假定的场景为客户接入的运营商网络. 当客户接入运营商后,运营商对于客户的流量会做限速,一般是配置在边界接入设备互联接口上.一般而言,配置的是单一的限速策略.就是说,客户需要的是100M带宽,那么就配置的是100M的限速.当客户购买两种业务,每种业务各50M,合计100M时,单一的限制100M已经无法满足需求了

iOS 浅谈对MVC、传值、和沙盒机制的理解

1.简述你对MVC的理解? MVC是一种架构设计,它考虑了三种对象:Model(模型对象).View(试图对象).Controller(试图控制器) (1)模型:负责存储.定义.操作数据 (2)视图:用来展示数据给用户和用户进行操作交互 (3)控制器是M与V的协调者,控制器获取数据,将数据交给视图去展示 2.简单描述Controllers之间的传值方式有哪几种? (1)属性传值 (2)block传值 (3)代理传值 (4)单例传值 (5)通知传值:谁要监听值得变化,谁就注册通知 3.如何理解iO

浅谈运营商网络业务限速(下)

前文曾提及QPPB技术,近期恰巧测试NE40设备,于是,对该技术也进行了测试. 科普:QPPB(Qos Policy Propagation Through the Border Gateway Protocol)是通过BGP传播QoS策略的简称,优势是通过BGP路由发送者设置BGP属性,预先对路由进行分类:BGP路由接收者可以依据BGP路由发送者设置属性对BGP路由应用不同的本地QoS策略. 如图所示,测试的内容主要是超核路由器002在接收BGP路由执行QPPB,作用于超核路由器002的下连接

ios浅谈关于nil和 NIL区别及相关问题(转)

转自:http://blog.csdn.net/guozh/article/details/8469131 个就是将引用技术减1,所谓的引用计数就是看看有多个指针指向一块内存实体,当release一次,就是指针减少一个,release到了0的时候,就是真正把这块内存归还给系统的时候了 再说self.test = nil;说明一下 属性和setter和getter方法就不难理解了 -(void) setTest:(NSString *)newString{if(_test != newString

iOS 浅谈:深.浅拷贝与copy.strong

深.浅拷贝 copy mutableCopy NSString NSString *string = @"汉斯哈哈哈"; // 没有产生新对象 NSString *copyString = [string copy]; // 产生新对象 NSMutableString *mutableCopyString = [string mutableCopy]; NSLog(@"string = %p copyString = %p mutableCopyString = %p&quo

iOS 浅谈本地通知 UILocalNotification

1.创建本地通知 UILocalNotification *local = [[UILocalNotification alloc] init]; 2.设置通知显示的时间 local.fireDate = [NSDate date]; 3.设置默认时区 local.timeZone = [NSTimeZone defaultTimeZone]; 4.设置提示内容 local.alertBody = @JPG下载完成,请即时查看!; 5.这个通知到时间时,你的应用程序右上角显示的数字. local