iOS 当前网络类型判断(2G/3G/4G/5G)

 

    由于一直在做IOT方面的工作,所以app跟硬件设备之间的交互就做的特别多,自然而然的手机当前连接的ssid是什么类型的就尤为重要,之前在判断网络的发现发现xcode12竟然没有5G相关的key,最近升级到Xcode12.1发现多了CTRadioAccessTechnologyNRNSACTRadioAccessTechnologyNR。从而是的判断当前网络连接类型变得更完善。

NRNew Radio的缩写,新无线(5G)的意思,
NRNSA表示5G NR的非独立组网(NSA)模式。

需要导入头文件:

#import 
+ (NSString *)getNetType
{
    CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
    NSString *currentStatus = info.currentRadioAccessTechnology;
    NSString *currentNet = @"5G";
    
    if ([currentStatus isEqualToString:CTRadioAccessTechnologyGPRS]) {
        currentNet = @"GPRS";
    }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyEdge]) {
        currentNet = @"2.75G EDGE";
    }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyWCDMA]){
        currentNet = @"3G";
    }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyHSDPA]){
        currentNet = @"3.5G HSDPA";
    }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyHSUPA]){
        currentNet = @"3.5G HSUPA";
    }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyCDMA1x]){
        currentNet = @"2G";
    }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyCDMAEVDORev0]){
        currentNet = @"3G";
    }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyCDMAEVDORevA]){
        currentNet = @"3G";
    }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyCDMAEVDORevB]){
        currentNet = @"3G";
    }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyeHRPD]){
        currentNet = @"HRPD";
    }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyLTE]){
        currentNet = @"4G";
    }else if (@available(iOS 14.0, *)) {
        if ([currentStatus isEqualToString:CTRadioAccessTechnologyNRNSA]){
            currentNet = @"5G NSA";
        }else if ([currentStatus isEqualToString:CTRadioAccessTechnologyNR]){
            currentNet = @"5G";
        }
    }
    return currentNet;
}

    有网友说,这个API是从14.1起步,而在iOS14.0.1会导致崩溃,由于手头目前没有这个系统的设备,所以不能来验证了,如果有问题,欢迎提出。

 


 

 

你可能感兴趣的:(iOS_dev,5G,网络类型,当前ssid,网络)