1,准备工作:
a:需要的第三方库:CoreTelephony.framework
b:在你需要添加的文件中添加两个类:CTTelephonyNetworkInfo和CTCarrier;
2,知识理解工作:
a:运营商信息包括mcc和mnc两个方面,名字叫做国际移动用户标示码(IMSI)它是两者的结合,每个国家都不同,每个国家都有自己的mcc,大部分都是一个mcc,除了美国,对应不同的移动,联通,所以IMSI一个国家可能是多个;
b:MCC:移动国家码(Mobile Country Code),MCC的资源由国际电联(ITU)统一分配,唯一识别移动用户所属的国家,mcc一共有三位,大多数国家是一个mcc,除了美国;
c:MNC:移动网络号码(Mobile Network Code),用于识别移动客户所属的移动网络运营商。mnc是由二到三个十进制数组成;
3,国家和地区运营商编码展示:
中国:mcc:460 mnc:00(中国移动)01(中国联通);
美国:mcc:316 310 mnc:010(nextTel)200,210,220,230(VoiceStream);240,250,260,170,270(PBW,Powertel)
台湾:mcc:466 mnc:92(中华电信),01(FarEasTone ),TCC(97),88(和信),93(东信),东荣(06)
等。
4,代码展示
a:添加头文件
#import<CoreTelephony/CTCarrier.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
b:我是在自定义的函数中写的代码,代码很灵活,可以自行选择写的区域
CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [info subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode];
NSString *mnc = [carrier mobileNetworkCode];
NSString *imsi = [NSString stringWithFormat:@"%@%@", mcc, mnc];
你需要哪个就使用那个就好。