美文网首页
使用Reachability监听应用网络状态

使用Reachability监听应用网络状态

作者: wjam小涛涛 | 来源:发表于2018-09-18 23:04 被阅读13次

    最近在给应用添加网络监听的时候,发现在iOS11中的控制中心关闭WiFi和移动数据时,Reachability检测到的状态还是WiFi连接状态。发现是公司项目里用的版本太旧没有适配iOS11系统,去官网下载了最新的替换就可以了。(Reachability下载地址
    如果需要单个页面监听网络状态的变化,参考实例代码。
    下面是全局监听的做法:

    1. AppDelegate里面添加一个Reachability的实例属性。这里需要定义一个属性,而且这个属性需要在应用周期内存活,这样才可以对网络进行监听和发出通知。
    2. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法里面开启网络监听。
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
        NSString *remoteHostName = @"www.apple.com";
        self.hostReachability = [Reachability reachabilityWithHostName:remoteHostName];
        [self.hostReachability startNotifier];
    
        return YES;
    }
    

    相关文章

      网友评论

          本文标题:使用Reachability监听应用网络状态

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