iOS 获取网络信息(运营商,网络技术)
2017-08-02 本文已影响0人
涛_3c6a
关于获取运营商信息,需通过CoreTelephony.framework,记得在工程添加。我们用到的是CTTelephonyNetworkInfo和CTCarrier这两个类,这些在iOS 4.0之后就有了。
名词解释
IMSI:International Mobile Subscriber Identification Number 国际移动用户识别码
IMSI分为两部分:
一部分叫MCC(Mobile Country Code
移动国家码),MCC的资源由国际电联(ITU)统一分配,唯一识别移动用户所属的国家,MCC共3位,中国地区的MCC为460
另一部分叫MNC(Mobile Network Code 移动网络号码),用于识别移动客户所属的移动网络运营商。MNC由二到三个十进制数组成,例如中国移动MNC为00、02、07,中国联通的MNC为01、06、09,中国电信的MNC为03、05、11
由1、2两点可知,对于中国地区来说IMSI一般为46000(中国移动)、46001(中国联通)、46003(中国电信)等。
国际码及网络码查询:https://en.wikipedia.org/wiki/Mobile_country_code
+ (void)networkInfo{
CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [info subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode]; // 国家码 如:460
NSString *mnc = [carrier mobileNetworkCode]; // 网络码 如:01
NSString *name = [carrier carrierName]; // 运营商名称,中国联通
NSString *isoCountryCode = [carrier isoCountryCode]; // cn
BOOL allowsVOIP = [carrier allowsVOIP];// YES
NSString *radioAccessTechnology = info.currentRadioAccessTechnology; // 无线连接技术,如CTRadioAccessTechnologyLTE
}
参考:http://blog.csdn.net/liu537192/article/details/49512957
文章内容部分参考自网络,如有版权问题请联系linjitaoyt@gmail.com