• iOS 实时监测网络状态(通过Reachability)


    在AppDelegate.m中

     1 @property (nonatomic, strong) Reachability *reach;
     2 
     3 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
     4     
     5     // 监测网络情况
     6     [[NSNotificationCenter defaultCenter] addObserver:self
     7                                              selector:@selector(reachabilityChanged:)
     8                                                  name: kReachabilityChangedNotification
     9                                                object: nil];
    10     Reachability *reach = [Reachability reachabilityWithHostName:@"www.apple.com"];
    11     [reach startNotifier];
    12     self.reach = reach;
    13 }

    通知触发执行的方法

     1 #pragma mark - 网络状态变化通知
     2 - (void)reachabilityChanged:(NSNotification*)note {
     3     
     4     Reachability* curReach = [note object];
     5     NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
     6     NetworkStatus status = [curReach currentReachabilityStatus];
     7     
     8     /*
     9      NotReachable = 0, 无网络连接
    10      ReachableViaWiFi, Wifi
    11      ReachableViaWWAN 2G/3G/4G/5G
    12      */
    13     if (status == NotReachable) {
    14        
    15        // 没有网络的更多操作 
    16 // 实现类似接到电话效果   self.window.frame = CGRectMake(0, 40, __width, __height-40);
    17         
    18     } else if (status == ReachableViaWiFi) {
    19         NSLog(@"Wifi");
    20     } else {
    21         NSLog(@"3G/4G/5G");
    22     }
    23 }
    1 - (void)dealloc {
    2     [_reach stopNotifier];
    3     [[NSNotificationCenter defaultCenter] removeObserver:self];
    4 }

    完毕,亲测可用

  • 相关阅读:
    js控制treeview默认展开
    java 在方法中新建线程,传参和加锁详解
    springmvc加载xml文件读取本地properties配置文件
    Android系统目录结构详解
    支付宝沙箱测试-ALI40247
    转化.vdi到.vmdk
    查看网页自动保存的密码
    天猫魔盘在 deepin-linux中的使用
    百度云-上传服务器出错误
    安装出现了error launching installer
  • 原文地址:https://www.cnblogs.com/MengXY/p/7216314.html
Copyright © 2020-2023  润新知