以编程方式检测iOS中的蜂窝网络类型

Vis*_*yal 4 ios

我面临一些网络相关问题,需要检查蜂窝网络类型,如2G,3G或4G数据网络选择.

Jur*_*oga 8

CoreTelephony.framework 可以为您提供这样的细节:

Objective-C的

CTTelephonyNetworkInfo *telephonyInfo = [[CTTelephonyNetworkInfo alloc] init];
NSString *technologyString = telephonyInfo.currentRadioAccessTechnology;

if ([technologyString isEqualToString:CTRadioAccessTechnologyLTE]) {
    // LTE (4G)
} else if([technologyString isEqualToString:CTRadioAccessTechnologyWCDMA]){
    // 3G
} else if([technologyString isEqualToString:CTRadioAccessTechnologyEdge]) {
    // EDGE (2G)
}
Run Code Online (Sandbox Code Playgroud)

迅速

import CoreTelephony

let telefonyInfo = CTTelephonyNetworkInfo()
if let radioAccessTechnology = telefonyInfo.currentRadioAccessTechnology{
  switch radioAccessTechnology{
  case CTRadioAccessTechnologyLTE: print("LTE (4G)")
  case CTRadioAccessTechnologyWCDMA: print("3G")
  case CTRadioAccessTechnologyEdge: print("EDGE (2G)")
  default: print("Other")
  }
}
Run Code Online (Sandbox Code Playgroud)