如何在iPhone上获取移动国家和网络代码

8
有没有办法在iPhone上获取MNC和MCC号码?
2个回答

6

您需要使用CoreTelephony框架

CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [networkInfo subscriberCellularProvider];

获取MNC,

NSString *mnc = [carrier mobileNetworkCode];

获取MCC,

NSString *mcc = [carrier mobileCountryCode];

谢谢。这个问题是在3.2时提出的,所以这不是我第一个问题的解决方案。但那已经过去一年了,所以如果我不必兼容旧设备,这是最好的解决方案。 - Johan
1
为了获取CTCarrier,您需要先获取网络信息:CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init]; CTCarrier *carrier = [networkInfo subscriberCellularProvider];。答案中的代码将返回nil。 - Felix Lamouroux
为什么这被标记为正确答案?我的电话号码的国家代码是+1,但使用这个解决方案我没有得到它... - zumzum
@zumzum,你所寻找的“国家代码”和标准化的MCC并不是相同的东西... - Scorchio

1

您可以使用CTCarrier类的方法来检索国家和网络代码。但是,这仅适用于主要提供商(=SIM卡),而不是当前预订电话的提供商。


有没有办法获取当前手机所预订的那一个? - Kasium
据我所知,目前还没有官方的方法来实现这个。 - holtmann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接