iOS 断网处理

iOS 断网处理

(2014-01-13 18:13:21)

转载▼

标签:

it

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

//开启网络状况的监听

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

self.hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"] ;

[self.hostReach startNotifier];  //开始监听,会启动一个run loop

self.window.rootViewController = self.tabBarController;

[self.window makeKeyAndVisible];

return YES;

}

//网络链接改变时会调用的方法

-(void)reachabilityChanged:(NSNotification *)note

{

Reachability *currReach = [note object];

NSParameterAssert([currReach isKindOfClass:[Reachability class]]);

//对连接改变做出响应处理动作

NetworkStatus status = [currReach currentReachabilityStatus];

//如果没有连接到网络就弹出提醒实况

self.isReachable = YES;

if(status == NotReachable)

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络连接异常" message:@"暂无法访问书城信息" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];

[alert show];

[alert release];

self.isReachable = NO;

}

else

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络连接信息" message:@"网络连接正常" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];

[alert show];

[alert release];

self.isReachable = YES;

}

}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

//开启网络状况的监听

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

self.hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"] ;

[self.hostReach startNotifier];  //开始监听,会启动一个run loop

self.window.rootViewController = self.tabBarController;

[self.window makeKeyAndVisible];

return YES;

}

//网络链接改变时会调用的方法

-(void)reachabilityChanged:(NSNotification *)note

{

Reachability *currReach = [note object];

NSParameterAssert([currReach isKindOfClass:[Reachability class]]);

//对连接改变做出响应处理动作

NetworkStatus status = [currReach currentReachabilityStatus];

//如果没有连接到网络就弹出提醒实况

self.isReachable = YES;

if(status == NotReachable)

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络连接异常" message:@"暂无法访问书城信息" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];

[alert show];

[alert release];

self.isReachable = NO;

}

else

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络连接信息" message:@"网络连接正常" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];

[alert show];

[alert release];

self.isReachable = YES;

}

}

通过如上代码,在应用程序的任何一个界面都可以使用下面的单例来判断网络是否连接

[cpp] view plaincopyprint?

AppDelegate *appDlg = (AppDelegate *)[[UIApplication sharedApplication] delegate];

if(appDlg.isReachable)

{

NSLog(@"网络已连接");//执行网络正常时的代码

}

else

{

NSLog(@"网络连接异常");//执行网络异常时的代码

}

时间: 2024-08-13 04:40:19

iOS 断网处理的相关文章

iOS IAP 服务器二次验证突然断网了怎么办

如果交易完成后,向自己的服务器进行二次验证(服务器对用户增值操作)的时候,客服端突然断网了或者苹果的服务器连接不上那么怎么办,现在还没找完美的解决办法,现在暂时使用的这种方法: transaction持久化,将加密的Base64字符串保存到本地,每次用户登录的时候自动重新验证. 当二次验证时,用户的客服端断网,就进入重试状态.如果二次验证时,自己的服务器断网,curl会得到一个"couldn't connect to host"这样的错误,就服务器端重试.对于网络超时或无法找到主机的都

360断网急救箱下载-独立版

360断网急救箱独立版下载,修复网络无法连接的问题. 很多时候电脑除了问题我们都能上网搜索一下,很快就能解决问题,但如果网络出了问题,在断网的情况下就无法获得来自网络的帮助,这个时候360断网急救箱独立版就能帮助你修复网络连接,建议常备! 如果您打不开网页,或是打不开聊天软件,建议您使用360断网急救箱,帮您全面诊断网络. 您是否经常遇到有些网页打不开,聊天软件登录不上,邮件收取不到等无法上网的情况? 快来试试360断网急救箱吧! 有了360断网急救箱,网络异常轻松搞定! 360断网急救箱主要有

dubbo连接zookeeper注册中心因为断网导致线程无限等待问题

最近维护的系统切换了网络环境,由联通换成了电信网络,因为某些过滤规则导致系统连不上zookeeper服务器(应用系统机器在深圳,网络为电信线路,zookeeper服务器在北京,网络为联通线路),因为我不是运维人员也不懂运维相关的技术,所以排查了很久也不知道原因,最后无奈之下把深圳这边的网络切回了联通,系统恢复正常. 但是因为本次事故体现了一个很严重的问题,即当zookeeper注册中心连不上时dubbo的线程会无限等待,因为系统有一些定时任务会比较频繁地开启新线程连接dubbo,所以导致的结果是

MACBOOK 总是断网怎么办

MACBOOK 连接 wifi 老是断网.焦躁不安 看图,二个方法,第一就搞定,?? 留存一份.

无线网络间歇断网该怎么办?

无论是网络技术的使用还是网咯故障的排查,作为网络管理员我们都应该有一定的了解,那么这里就详细的为我们说明一下.对于无线网络技术,我们有多少人很了解呢?对于无线网络出现的故障,我们这里为大家汇总了一些常见的排除技巧.排查连接方式,解决间歇断网的无线网络故障 在本地局域网通过无线路由器接入到Internet网络中的情形下,要是局域网中的工作站经常出现一会儿能正常上网.一会儿又不能正常上网的故障现象时,我们首先需要确保工作站与无线路由器之间的上网参数一定要正确,在该基础下就应该重点检查无线路由器的连接

实现局域网内单个ip断网

首先要知道你要断网人的ip地址: 使用命令扫描网络中存活主机:fping -asg  192.168.1.0/24(这个根据自己的网段设置) 然后通过arp原理实现断网 命令:arpspoof -i网卡  -t 目标ip  网关

解决rtl8723be无线网卡驱动频繁断网问题

买了新本子,用的是rtl8723be无线网卡,连WIFI时总是断网.Windows下好解决,Ubuntu下可就麻烦了,又是升级内核又是编译驱动的,折腾了一天,终于找到了解决办法: # echo "options rtl8723be fwlps=0 swlps=0" > /etc/modprobe.d/rtl8723be.conf # reboot 原理应该是取消网卡自动休眠.原帖:http://linux.cn/thread/12521/1/1/

公司突然断网故障排查

记一次公司断网故障排查 本来大周一挺好的,刚坐在工位上不到半个小时,公司突然断网,此时,我是有点凌乱的! 下边是排查故障的过程 1,首先我看下本机电脑的IP地址,禁用启动,发现仍旧可以获取到IP地址,这代表DHCP分发是没问题的,因为是突然断网,代表着交换机路由器配置不可能出问题 2,接着我带着笔记本进入机房,看了下光猫,光猫状态正常,然后看了下路由器,路由器是H3C的,有web管理界面,进入web管理界面,发现IP地址状态也是正常的. 4,接着给公司网络运营商打电话,他说是他们那边的问题,有个

断网的十几天

哦呵呵~寝室断网十四天了 今天10.14 10.1已断网 10.6国庆回来后寝室的网还没有好 刚开始的几天是各种烦躁,没网基本就没什么事干的感觉,各种无聊 然后就把衣服洗了,桌子收拾了,也出去跑了个步,锻了个练,没事还各种串门~混了不少脸熟 之后几天心渐渐静下来了,没事慢慢学习,倒还真的学进去了.啧,只能说网络害人么.或者说自己 控制力太差! 偶尔整理电脑文件的时候,发现了不少以前收集的资料,也理清了不少念头. 当时选这个专业走计算机这条路到底是为了什么呢? 可是现在这两年到底在干什么呢? 迷茫