在iOS7之前使用公开api无法获取移动网络类型,在iOS7之后Apple开放CoreTelephony中了两个类:
CTTelephonyNetworkInfo、CTCarrier,可以方便的获取iOS设备所处移动网络类型,e.g
1 通过CTTelephonyNetworkInfo获取:
CTTelephonyNetworkInfo *telephonyInfo = [[CTTelephonyNetworkInfoalloc]init];
NSString *netType = telephonyInfo.currentRadioAccessTechnology;
2 通过 获取:
CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfoalloc]init];
CTCarrier *carrier = [networkInfosubscriberCellularProvider];
NSString *networkCode = carrier.mobileNetworkCode;
注: networkCode解释见:http://zh.wikipedia.org/wiki/%E7%A7%BB%E5%8A%A8%E8%AE%BE%E5%A4%87%E7%BD%91%E7%BB%9C%E4%BB%A3%E7%A0%81
CTTelephonyNetworkInfo、CTCarrier见:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTTelephonyNetworkInfo/
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/