我可以从NSLocale或GeoPlugin获取国家/地区代码(ISO 3166'双字母代码')。
但我的要求是获取MCC(移动国家/地区代码)。我需要使用当前设备的mcc调用一个REST API来确定用户是在家还是在国外。
我考虑过将MCC和CC作为键值对保留本地数据库。但是如果我用数据包打包数据库,这不会是最新的。
我在搜索这个问题之前搜索了很多东西。是否有任何iOS API或任何第三方网站将CC转换为MCC?
提前致谢。
答案 0 :(得分: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];
答案 1 :(得分:2)
如果我理解你的问题,你想要达到这个目的:
CTTelephonyNetworkInfo *info = [CTTelephonyNetworkInfo new];
CTCarrier *carrier = info.subscriberCellularProvider;
NSLog(@"MCC >> %@", carrier.mobileCountryCode);
也许此代码可用于调整它,因此您可以输入动态国家/地区代码而不是subscriberCellularProvider。
答案 2 :(得分: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",
};
}