美文网首页
iOS开发快速学会网络实时监听功能步骤

iOS开发快速学会网络实时监听功能步骤

作者: 笨笨编程 | 来源:发表于2015-09-16 14:50 被阅读1584次

    1 概要:

    我们在平时APP开发的过程中,可能需要判断用户网络的问题。那么我们怎么通过代码来判断用户用的是数据流量还是WIFI又或者是断网呢?只需3步即可:

    2 具体步骤

    step1:将Reachability.h和Reachability.m文件添加到工程中(可以百度上下载);
    step2:导入头文件(#import "Reachability.h")、在viewDidLoad中注册监听通知,说白了就是复制以下代码
    // 使用通知中心监听kReachabilityChangedNotification通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; // 获取访问指定站点的Reachability对象 self.reach = [Reachability reachabilityWithHostName:@"www.baidu.com"]; // 让Reachability对象开启被监听状态 [self.reach startNotifier];

    注意一个小细节:以上代码的reach是Reachability对象,需要定义为全局变量

    step3:还是复制代码,在每个if else里面该干嘛就干嘛了
    - (void)reachabilityChanged:(NSNotification *)note{ // 通过通知对象获取被监听的Reachability对象 Reachability *curReach = [note object]; // 获取Reachability对象的网络状态 NetworkStatus status = [curReach currentReachabilityStatus]; if (status == ReachableViaWWAN){ NSLog(@"3G在线"); // UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提醒" // message:@"不能访问www.baidu.com" delegate:nil // cancelButtonTitle:@"YES" otherButtonTitles:nil]; // // [alert show]; }else if (status == ReachableViaWiFi){ NSLog(@"WIFI在线"); }else if (status == NotReachable){ NSLog(@"notReachable"); } }

    3 网络已结束,接着写代码吧!

    欢迎关注笨笨编程官方微博[http://weibo.com/2728581591/profile?topnav=1&wvr=6]

    相关文章

      网友评论

          本文标题:iOS开发快速学会网络实时监听功能步骤

          本文链接:https://www.haomeiwen.com/subject/nlkbcttx.html