iOS之Reachability检测网络状态

  1. 首先 下载Reachability.zip

  2. 解压之后将Reachability.hReachability.m文件拖入自己的项目中

  3. AppDelegate.m中引入Reachability.h

  4. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions NS_AVAILABLE_IOS(3_0);方法里添加观察者监听网络状态改变的通知

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 监听网络状态改变
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil];
    // 创建Reachability
    Reachability *connect = [Reachability reachabilityForInternetConnection];
    // 开始监控网络,若网络状态改变, 就会发出通知kReachabilityChangedNotification
    [connect startNotifier];
    return YES;
  }




// 处理网络状态改变
- (void)networkStateChange
{
    
    Reachability *reachability = [Reachability reachabilityWithHostName:@"www.apple.com"];
    switch ([reachability currentReachabilityStatus]) {
        case 0://没有网
            [[[UIAlertView alloc] initWithTitle:@"网络连接异常" message:nil delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil] show];
        case 1:
            NSLog(@"WIFI网络");
            break;
        case 2:
            NSLog(@"手机自带网络");
            break;
        default:
            break;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 平时,我们大部分人估计都是用的AF自带的检测网络状态类来判断当前手机网络状态,其实苹果原生的检测网络状态的类用着也...
    Frey丶阅读 1,074评论 0 2
  • -- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实...
    翘楚iOS9阅读 3,003评论 0 13
  • 017年第4期小西妈双语工程 47号 Susie 2017年8月12号打卡 游戏;小花猫捞小鱼 阅读,海尼曼。GK 7本
    029108296e5b阅读 134评论 0 0
  • 算了算,今年是我戴隐形眼镜的第八个年头,感触还是挺多的。 “嘿。我戴着眼镜呢”。每次我跟别人说近视的话题,别人都会...
    sonana7阅读 31,809评论 7 13
  • 我真的是一个从内到外都很丧的人,表情很丧姿态也很丧,但也不代表我不开心不舒服,我的放松状态就是一脸丧气。和朋友一起...
    N572阅读 348评论 0 0