iOS获取当前网络状态

//状态栏是由当前app控制的,首先获取当前app
//type数字对应的网络状态依次是 : 0 - 无网络 ; 1 - 2G ; 2 - 3G ; 3 - 4G ; 5 - WIFI

   UIApplication *app = [UIApplication sharedApplication];
   
   NSArray *children = [[[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"foregroundView"] subviews];
   
   int type = 0;
   for (id child in children)
   {
   if ([child isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {
                  type = [[child valueForKeyPath:@"dataNetworkType"] intValue];
             }
     }
    NSLog(@"----%d", type);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 获取iOS网络状态,我目前知道的有两种办法。 方法一:Reachability。相信大家使用最多的方法就是使用Re...
    独酌丿红颜阅读 1,844评论 0 4
  • 自己工作中用到的,在此记录一下,希望对大家有帮助。
    Macanzy阅读 1,017评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,821评论 25 709
  • 很多时候当谈到改变自己,比如养成一个好习惯或者克服一个坏习惯,我们倾向于认为这是一件非常耗费意志力的事情,需要意志...
    逆向学习阅读 567评论 0 0
  • 苦孤待白心, 于卿终言语。 喜不禁己胜, 耋耋老笑颜。 此...
    DJ130阅读 171评论 0 2