CoreTelephony框架在iPhone中返回404作为MCC(移动国家代码)

时间:2015-09-07 07:15:12

标签: ios iphone core-telephony mobile-country-code

我使用以下代码段来查找用户iPhone的MCC(移动国家/地区代码)。运营商名称,iSO代码和MNC等详细信息即将推出,但MCC总是404而不是+01(或美国)或+91(印度)。

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


// Get carrier name
NSString *carrierName = [carrier carrierName];
if (carrierName != nil)
    NSLog(@"Carrier: %@", carrierName);

// Get mobile country code
NSString *mcc = [carrier mobileCountryCode];
if (mcc != nil)
    NSLog(@"Mobile Country Code (MCC): %@", mcc);

// Get mobile network code
NSString *mnc = [carrier mobileNetworkCode];

if (mnc != nil)
    NSLog(@"Mobile Network Code (MNC): %@", mnc);
NSString *code = [carrier isoCountryCode];

NSLog(@"isoCountryCode (iso): %@", code);

我的手机中有一张完美正常工作的SIM卡,手机已解锁。 我在这做错了什么?

1 个答案:

答案 0 :(得分:2)

MCC不是您所期望的手机国家/地区前缀,但它是ITU-T E.212建议书“移动国家/地理区域代码列表”中定义的移动国家/地区代码。

在你的情况下,404是 - 印度。 您可以在以下位置查看列表:http://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212A-2010-PDF-E.pdf