iOS 网络状态(区分3G,4G,wifi)

获取设备当前网络类型,目前主要有两种方案。
方案一:
使用苹果提供的Reachability。此方法的原理是通过无线接入技术来区分网络类型。比如CTRadioAccessTechnologyLTE 为4G网络技术,
CTRadioAccessTechnologyGPRS 和CTRadioAccessTechnologyEdge为2G网络技术。

- (NSString *)getNetWorkInfo{
Reachability *reach = [Reachability reachabilityForInternetConnection];
NetworkStatus status = [reach currentReachabilityStatus];
switch(status)
 {
    case NotReachable:
        return @"unknown";
    case ReachableViaWWAN:
        return @"wwan";
    case ReachableViaWiFi:
        return @"wifi";
    case kReachableVia2G:
        return @"2G";
    case kReachableVia3G:
        return @"3G";
    case kReachableVia4G:
        return @"4G";
    default:
        return @"";
 }
}

方案二:
通过状态栏上网络类型图标类,通过KVO的方式获取networktype。

-(void)networktype{
NSArray *subviews = [[[[UIApplication sharedApplication] valueForKey:@"statusBar"] valueForKey:@"foregroundView"]subviews];
NSNumber *dataNetworkItemView = nil;
for (id subview in subviews) {
    if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {
        dataNetworkItemView = subview;
       break;
 }
}

switch ([[dataNetworkItemView valueForKey:@"dataNetworkType"]integerValue]) {
case 0:
   NSLog(@"No wifi or cellular");
   infoLabel.text=@"无服务";
break
case 1:
   NSLog(@"2G");
   infoLabel.text=@"2G";
break;
case 2:
   NSLog(@"3G");
   infoLabel.text=@"3G";
break;
case 3:
   NSLog(@"4G");
   infoLabel.text=@"4G";
break;
case 4:
   NSLog(@"LTE");
   infoLabel.text=@"LTE";
break;
case 5:
   NSLog(@"Wifi");
   infoLabel.text=@"Wifi";
break;
default:
break;
}}

参考:http://blog.csdn.net/justinjing0612/article/details/38313747

文章内容部分参考自网络,如有版权问题请联系linjitaoyt@gmail.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,586评论 7 249
  • 长白山。 从未对谁说起过那里有多么的秀丽壮美,或许有天旅行经过那里,抵达那个名为梦的地方。还记得两年前,多少人都说...
    解沐泽阅读 470评论 0 1
  • 1 小志跟在一身白衣的工作人员身后,一扇扇白色的门从眼前掠过,每个门上都有一个号码。 “就是这里了。”工作人员停在...
    与月阅读 807评论 2 7
  • 2017.8.14 晴 贪睡回家 一般 我似乎做了一个很长很长的梦,我梦见倾城的洪水,淹没了道路,可人们却安然无恙...
    古灯_553d阅读 144评论 0 0