美文网首页
Swift 2G/3G/4G网络判断

Swift 2G/3G/4G网络判断

作者: 萤火驻守心间 | 来源:发表于2022-07-01 18:06 被阅读0次

我们可以引用import CoreTelephony框架下的一些API来判断当前的网络
iOS系统API定义:
/*

  • Radio Access Technology values
    */
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyGPRS: String
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyEdge: String
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyWCDMA: String
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyHSDPA: String
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyHSUPA: String
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyCDMA1x: String
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyCDMAEVDORev0: String
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyCDMAEVDORevA: String
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyCDMAEVDORevB: String
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyeHRPD: String
    @available(iOS 7.0, *)
    public let CTRadioAccessTechnologyLTE: String
    @available(iOS 14.1, *)
    public let CTRadioAccessTechnologyNRNSA: String
    @available(iOS 14.1, *)
    public let CTRadioAccessTechnologyNR: String

网络判断:

func networkStatus() {
        let arr2g = [CTRadioAccessTechnologyEdge,CTRadioAccessTechnologyGPRS,CTRadioAccessTechnologyCDMA1x]
        let arr3g = [CTRadioAccessTechnologyHSDPA,CTRadioAccessTechnologyWCDMA,CTRadioAccessTechnologyHSUPA,CTRadioAccessTechnologyCDMAEVDORev0,CTRadioAccessTechnologyCDMAEVDORevA,CTRadioAccessTechnologyCDMAEVDORevB,CTRadioAccessTechnologyeHRPD]
        let arr4g = [CTRadioAccessTechnologyLTE]
        let teleInfo = CTTelephonyNetworkInfo()
        guard let netStr = teleInfo.currentRadioAccessTechnology else {
            return
        }
        if arr4g.contains(netStr) {
            print("4G网络")
        }else if arr3g.contains(netStr) {
            print("3G网络")
        }else if arr2g.contains(netStr) {
            print("2G网络")
        }else {
            print("未知网络")
        }
    }

相关文章

网友评论

      本文标题:Swift 2G/3G/4G网络判断

      本文链接:https://www.haomeiwen.com/subject/dswcbrtx.html