2015-09-07 4 views
1

Я использую приведенные ниже фрагменты кода, чтобы узнать MCC (код страны) на iPhone пользователя. Детали, такие как имя оператора, код iSO и MNC, прекрасны, но MCC всегда 404 вместо +01 (или США) или +91 (для Индии).Framework CoreTelephony возвращает 404 как MCC (код страны) в iPhone

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-карта, и мой телефон разблокирован. Что я здесь делаю неправильно?

+0

MCC не является кодом страны e.164. Это код e.212 - 404 - это Индия. https://www.itu.int/itudoc/itu-t/ob-lists/icc/e212_685.pdf – Paulw11

ответ

2

MCC не страна Префикс телефона, как вы ожидаете, но это мобильный код страны, как это определено в Рекомендации МСЭ-Т E.212, «Список Mobile Страна или географических кодов зон.»

В вашем случае 404 есть - Индия. Вы можете ознакомиться с перечнем по адресу: http://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212A-2010-PDF-E.pdf

+0

Спасибо за информацию, я не знаю об этом до сих пор .. Есть ли способ, которым я могу получить префикс страны в iOS. Это было бы очень полезно. –

+0

Не то, что я знаю (те, которые будут проходить обзор App Store) – Mindaugas