2013-03-19 11 views
3

NSLocale 또는 GeoPlugin에서 국가 코드 (ISO 3166 '2 문자 코드')를 가져올 수 있습니다.iOS에서 "국가 코드"를 "모바일 국가 코드"로 프로그래밍 방식으로 변환하는 방법?

하지만 내 요구 사항은 MCC (모바일 국가 코드)를받는 것입니다. 사용자가 집에 있는지 또는 해외에 있는지를 결정하기 위해 기기의 현재 mcc와 함께 하나의 REST API를 호출해야합니다.

MCC와 CC가있는 로컬 DB를 키 값 쌍으로 유지하는 것과 같은 것으로 생각했습니다. 그러나 번들로 DB를 압축하면 이것이 최신이 아닐 것입니다.

나는이 질문을하기 전에 많은 것을 봤습니다. 어떤 IOS API 또는 타사 웹 사이트와 함께 CC를 내 고객 센터로 전환 할 수 있습니까? 사전에

감사합니다.

+1

레온은 사용자의 SIM 카드의 MCC를 얻을 수있는 올바른 방법을 제공합니다 . 나는 plist 나 데이터베이스를 앱과 함께 번들로 묶는 것이 문제가 될 것이라고 생각하지 않는다. 새로운 국가가 생겨나는 것은 아니지만 GSMA는 MCC 목록을 업데이트해야합니다. MNC는보다 정기적으로 생성되지만 새로운 MCC는 비교적 드뭅니다. – rickerbh

답변

4

수동의 경우이

NSDictionary *dictDialingCodes = [[NSDictionary alloc]initWithObjectsAndKeys: 
        @"972", @"IL", 
        @"93", @"AF", 
        @"355", @"AL", 
        @"213", @"DZ", 
        @"1", @"AS", 
        @"376", @"AD", 
        @"244", @"AO", 
        @"1", @"AI", 
        @"1", @"AG", 
        @"54", @"AR", 
        @"374", @"AM", 
        @"297", @"AW", 
        @"61", @"AU", 
        @"43", @"AT", 
        @"994", @"AZ", 
        @"1", @"BS", 
        @"973", @"BH", 
        @"880", @"BD", 
        @"1", @"BB", 
        @"375", @"BY", 
        @"32", @"BE", 
        @"501", @"BZ", 
        @"229", @"BJ", 
        @"1", @"BM", @"975", @"BT", 
        @"387", @"BA", @"267", @"BW", @"55", @"BR", @"246", @"IO", 
        @"359", @"BG", @"226", @"BF", @"257", @"BI", @"855", @"KH", 
        @"237", @"CM", @"1", @"CA", @"238", @"CV", @"345", @"KY", 
        @"236", @"CF", @"235", @"TD", @"56", @"CL", @"86", @"CN", 
        @"61", @"CX", @"57", @"CO", @"269", @"KM", @"242", @"CG", 
        @"682", @"CK", @"506", @"CR", @"385", @"HR", @"53", @"CU", 
        @"537", @"CY", @"420", @"CZ", @"45", @"DK", @"253", @"DJ", 
        @"1", @"DM", @"1", @"DO", @"593", @"EC", @"20", @"EG", 
        @"503", @"SV", @"240", @"GQ", @"291", @"ER", @"372", @"EE", 
        @"251", @"ET", @"298", @"FO", @"679", @"FJ", @"358", @"FI", 
        @"33", @"FR", @"594", @"GF", @"689", @"PF", @"241", @"GA", 
        @"220", @"GM", @"995", @"GE", @"49", @"DE", @"233", @"GH", 
        @"350", @"GI", @"30", @"GR", @"299", @"GL", @"1", @"GD", 
        @"590", @"GP", @"1", @"GU", @"502", @"GT", @"224", @"GN", 
        @"245", @"GW", @"595", @"GY", @"509", @"HT", @"504", @"HN", 
        @"36", @"HU", @"354", @"IS", @"91", @"IN", @"62", @"ID", 
        @"964", @"IQ", @"353", @"IE", @"972", @"IL", @"39", @"IT", 
        @"1", @"JM", @"81", @"JP", @"962", @"JO", @"77", @"KZ", 
        @"254", @"KE", @"686", @"KI", @"965", @"KW", @"996", @"KG", 
        @"371", @"LV", @"961", @"LB", @"266", @"LS", @"231", @"LR", 
        @"423", @"LI", @"370", @"LT", @"352", @"LU", @"261", @"MG", 
        @"265", @"MW", @"60", @"MY", @"960", @"MV", @"223", @"ML", 
        @"356", @"MT", @"692", @"MH", @"596", @"MQ", @"222", @"MR", 
        @"230", @"MU", @"262", @"YT", @"52", @"MX", @"377", @"MC", 
        @"976", @"MN", @"382", @"ME", @"1", @"MS", @"212", @"MA", 
        @"95", @"MM", @"264", @"NA", @"674", @"NR", @"977", @"NP", 
        @"31", @"NL", @"599", @"AN", @"687", @"NC", @"64", @"NZ", 
        @"505", @"NI", @"227", @"NE", @"234", @"NG", @"683", @"NU", 
        @"672", @"NF", @"1", @"MP", @"47", @"NO", @"968", @"OM", 
        @"92", @"PK", @"680", @"PW", @"507", @"PA", @"675", @"PG", 
        @"595", @"PY", @"51", @"PE", @"63", @"PH", @"48", @"PL", 
        @"351", @"PT", @"1", @"PR", @"974", @"QA", @"40", @"RO", 
        @"250", @"RW", @"685", @"WS", @"378", @"SM", @"966", @"SA", 
        @"221", @"SN", @"381", @"RS", @"248", @"SC", @"232", @"SL", 
        @"65", @"SG", @"421", @"SK", @"386", @"SI", @"677", @"SB", 
        @"27", @"ZA", @"500", @"GS", @"34", @"ES", @"94", @"LK", 
        @"249", @"SD", @"597", @"SR", @"268", @"SZ", @"46", @"SE", 
        @"41", @"CH", @"992", @"TJ", @"66", @"TH", @"228", @"TG", 
        @"690", @"TK", @"676", @"TO", @"1", @"TT", @"216", @"TN", 
        @"90", @"TR", @"993", @"TM", @"1", @"TC", @"688", @"TV", 
        @"256", @"UG", @"380", @"UA", @"971", @"AE", @"44", @"GB", 
        @"1", @"US", @"598", @"UY", @"998", @"UZ", @"678", @"VU", 
        @"681", @"WF", @"967", @"YE", @"260", @"ZM", @"263", @"ZW", 
        @"591", @"BO", @"673", @"BN", @"61", @"CC", @"243", @"CD", 
        @"225", @"CI", @"500", @"FK", @"44", @"GG", @"379", @"VA", 
        @"852", @"HK", @"98", @"IR", @"44", @"IM", @"44", @"JE", 
        @"850", @"KP", @"82", @"KR", @"856", @"LA", @"218", @"LY", 
        @"853", @"MO", @"389", @"MK", @"691", @"FM", @"373", @"MD", 
        @"258", @"MZ", @"970", @"PS", @"872", @"PN", @"262", @"RE", 
        @"7", @"RU", @"590", @"BL", @"290", @"SH", @"1", @"KN", 
        @"1", @"LC", @"590", @"MF", @"508", @"PM", @"1", @"VC", 
        @"239", @"ST", @"252", @"SO", @"47", @"SJ", @"963", 
        @"SY",@"886", 
        @"TW", @"255", 
        @"TZ", @"670", 
        @"TL",@"58", 
        @"VE",@"84", 
        @"VN", 
        @"284", @"VG", 
        @"340", @"VI", 
        @"678",@"VU", 
        @"681",@"WF", 
        @"685",@"WS", 
        @"967",@"YE", 
        @"262",@"YT", 
        @"27",@"ZA", 
        @"260",@"ZM", 
        @"263",@"ZW", 
        nil]; 
+0

마지막으로 나는이 접근법을 사용하여 끝내게되었습니다. – Selvin

2

내가 제대로 질문을 이해한다면 당신이 이것을 달성하기 위해 싶습니다

CTTelephonyNetworkInfo *info = [CTTelephonyNetworkInfo new]; 
CTCarrier *carrier = info.subscriberCellularProvider; 

NSLog(@"MCC >> %@", carrier.mobileCountryCode); 

어쩌면이 코드는 그래서 그것을 조정할 사용할 수를 입력 할 수 동적 국가 코드 대신 subscriberCellularProvider.

1
- (NSDictionary *)callingCodeMap 
{ 
    return @{ 
     @"AD" : @"+376", 
     @"AE" : @"+971", 
     @"AF" : @"+93", 
     @"AG" : @"+1268", 
     @"AI" : @"+1264", 
     @"AL" : @"+355", 
     @"AM" : @"+374", 
     @"AN" : @"+599", 
     @"AO" : @"+244", 
     @"AQ" : @"+672", 
     @"AR" : @"+54", 
     @"AS" : @"+1684", 
     @"AT" : @"+43", 
     @"AU" : @"+61", 
     @"AW" : @"+297", 
     @"AZ" : @"+994", 
     @"BA" : @"+387", 
     @"BB" : @"+1246", 
     @"BD" : @"+880", 
     @"BE" : @"+32", 
     @"BF" : @"+226", 
     @"BG" : @"+359", 
     @"BH" : @"+973", 
     @"BI" : @"+257", 
     @"BJ" : @"+229", 
     @"BL" : @"+590", 
     @"BM" : @"+1441", 
     @"BN" : @"+673", 
     @"BO" : @"+591", 
     @"BR" : @"+55", 
     @"BS" : @"+1242", 
     @"BT" : @"+975", 
     @"BW" : @"+267", 
     @"BY" : @"+375", 
     @"BZ" : @"+501", 
     @"CA" : @"+1", 
     @"CC" : @"+61", 
     @"CD" : @"+243", 
     @"CF" : @"+236", 
     @"CG" : @"+242", 
     @"CH" : @"+41", 
     @"CI" : @"+225", 
     @"CK" : @"+682", 
     @"CL" : @"+56", 
     @"CM" : @"+237", 
     @"CN" : @"+86", 
     @"CO" : @"+57", 
     @"CR" : @"+506", 
     @"CU" : @"+53", 
     @"CV" : @"+238", 
     @"CX" : @"+61", 
     @"CY" : @"+357", 
     @"CZ" : @"+420", 
     @"DE" : @"+49", 
     @"DJ" : @"+253", 
     @"DK" : @"+45", 
     @"DM" : @"+1767", 
     @"DO" : @"+1809", 
     @"DZ" : @"+213", 
     @"EC" : @"+593", 
     @"EE" : @"+372", 
     @"EG" : @"+20", 
     @"ER" : @"+291", 
     @"ES" : @"+34", 
     @"ET" : @"+251", 
     @"FI" : @"+358", 
     @"FJ" : @"+679", 
     @"FK" : @"+500", 
     @"FM" : @"+691", 
     @"FO" : @"+298", 
     @"FR" : @"+33", 
     @"GA" : @"+241", 
     @"GB" : @"+44", 
     @"GD" : @"+1473", 
     @"GE" : @"+995", 
     @"GH" : @"+233", 
     @"GI" : @"+350", 
     @"GL" : @"+299", 
     @"GM" : @"+220", 
     @"GN" : @"+224", 
     @"GQ" : @"+240", 
     @"GR" : @"+30", 
     @"GT" : @"+502", 
     @"GU" : @"+1671", 
     @"GW" : @"+245", 
     @"GY" : @"+592", 
     @"HK" : @"+852", 
     @"HN" : @"+504", 
     @"HR" : @"+385", 
     @"HT" : @"+509", 
     @"HU" : @"+36", 
     @"ID" : @"+62", 
     @"IE" : @"+353", 
     @"IL" : @"+972", 
     @"IM" : @"+44", 
     @"IN" : @"+91", 
     @"IQ" : @"+964", 
     @"IR" : @"+98", 
     @"IS" : @"+354", 
     @"IT" : @"+39", 
     @"JM" : @"+1876", 
     @"JO" : @"+962", 
     @"JP" : @"+81", 
     @"KE" : @"+254", 
     @"KG" : @"+996", 
     @"KH" : @"+855", 
     @"KI" : @"+686", 
     @"KM" : @"+269", 
     @"KN" : @"+1869", 
     @"KP" : @"+850", 
     @"KR" : @"+82", 
     @"KW" : @"+965", 
     @"KY" : @"+1345", 
     @"KZ" : @"+7", 
     @"LA" : @"+856", 
     @"LB" : @"+961", 
     @"LC" : @"+1758", 
     @"LI" : @"+423", 
     @"LK" : @"+94", 
     @"LR" : @"+231", 
     @"LS" : @"+266", 
     @"LT" : @"+370", 
     @"LU" : @"+352", 
     @"LV" : @"+371", 
     @"LY" : @"+218", 
     @"MA" : @"+212", 
     @"MC" : @"+377", 
     @"MD" : @"+373", 
     @"ME" : @"+382", 
     @"MF" : @"+1599", 
     @"MG" : @"+261", 
     @"MH" : @"+692", 
     @"MK" : @"+389", 
     @"ML" : @"+223", 
     @"MM" : @"+95", 
     @"MN" : @"+976", 
     @"MO" : @"+853", 
     @"MP" : @"+1670", 
     @"MR" : @"+222", 
     @"MS" : @"+1664", 
     @"MT" : @"+356", 
     @"MU" : @"+230", 
     @"MV" : @"+960", 
     @"MW" : @"+265", 
     @"MX" : @"+52", 
     @"MY" : @"+60", 
     @"MZ" : @"+258", 
     @"NA" : @"+264", 
     @"NC" : @"+687", 
     @"NE" : @"+227", 
     @"NG" : @"+234", 
     @"NI" : @"+505", 
     @"NL" : @"+31", 
     @"NO" : @"+47", 
     @"NP" : @"+977", 
     @"NR" : @"+674", 
     @"NU" : @"+683", 
     @"NZ" : @"+64", 
     @"OM" : @"+968", 
     @"PA" : @"+507", 
     @"PE" : @"+51", 
     @"PF" : @"+689", 
     @"PG" : @"+675", 
     @"PH" : @"+63", 
     @"PK" : @"+92", 
     @"PL" : @"+48", 
     @"PM" : @"+508", 
     @"PN" : @"+870", 
     @"PR" : @"+1", 
     @"PT" : @"+351", 
     @"PW" : @"+680", 
     @"PY" : @"+595", 
     @"QA" : @"+974", 
     @"RO" : @"+40", 
     @"RS" : @"+381", 
     @"RU" : @"+7", 
     @"RW" : @"+250", 
     @"SA" : @"+966", 
     @"SB" : @"+677", 
     @"SC" : @"+248", 
     @"SD" : @"+249", 
     @"SE" : @"+46", 
     @"SG" : @"+65", 
     @"SH" : @"+290", 
     @"SI" : @"+386", 
     @"SK" : @"+421", 
     @"SL" : @"+232", 
     @"SM" : @"+378", 
     @"SN" : @"+221", 
     @"SO" : @"+252", 
     @"SR" : @"+597", 
     @"ST" : @"+239", 
     @"SV" : @"+503", 
     @"SY" : @"+963", 
     @"SZ" : @"+268", 
     @"TC" : @"+1649", 
     @"TD" : @"+235", 
     @"TG" : @"+228", 
     @"TH" : @"+66", 
     @"TJ" : @"+992", 
     @"TK" : @"+690", 
     @"TL" : @"+670", 
     @"TM" : @"+993", 
     @"TN" : @"+216", 
     @"TO" : @"+676", 
     @"TR" : @"+90", 
     @"TT" : @"+1868", 
     @"TV" : @"+688", 
     @"TW" : @"+886", 
     @"TZ" : @"+255", 
     @"UA" : @"+380", 
     @"UG" : @"+256", 
     @"US" : @"+1", 
     @"UY" : @"+598", 
     @"UZ" : @"+998", 
     @"VA" : @"+39", 
     @"VC" : @"+1784", 
     @"VE" : @"+58", 
     @"VG" : @"+1284", 
     @"VI" : @"+1340", 
     @"VN" : @"+84", 
     @"VU" : @"+678", 
     @"WF" : @"+681", 
     @"WS" : @"+685", 
     @"YE" : @"+967", 
     @"YT" : @"+262", 
     @"ZA" : @"+27", 
     @"ZM" : @"+260", 
     @"ZW" : @"+263", 
    }; 
} 

을 사용하거나이 범주를 시도 할 수 있습니다 : https://gist.github.com/kukat/ecf0ef352c597178a81c

출처 : http://countrycode.org/