ios 判断网络连接方式

ios中判断网络连接方式的方法很多种,常用的大多是加入开源库,然后根据开源库中提供的方法进行判断。

 

下面提供一种方法:多多指教

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");
            break;

        case 1:
            //            NSLog(@"2G");
            return @"2G";
            break;

        case 2:
            //            NSLog(@"3G");
            return @"3G";
            break;

        case 3:
            //            NSLog(@"4G");
            return @"4G";
            break;

        case 4:
            //            NSLog(@"LTE");
            return @"LTE";
            break;
            
        case 5:
            //            NSLog(@"Wifi");
            return @"WiFi";
            break;
            
        default:
            break;
    }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。