iOS 判断5G网络类型、以及存在的坑

CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyNRNSA         API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyNR            API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macOS);

这是Apple CoreTelephony框架下用来判断5G的字段,在系统标识上Apple写的是iOS14.0。
后面版本APPLE已更正。

如果你用Xcode12是编译不过的,并且如果你在iOS14.0系统下判断上面的两个字段会造成崩溃,因为这是iOS14.1的系统引入的。

造成崩溃之后解决方案:

    CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
    NSString *currentRT = [info currentRadioAccessTechnology];
    if (@available(iOS 14.1, *)) {
        if ([currentRT isEqualToString:CTRadioAccessTechnologyNRNSA] || [currentRT isEqualToString:CTRadioAccessTechnologyNR]) {
            return @"5G";
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容