2012-10-29 18 views
12

बस यह सोचकर कि उपयोगकर्ता के फोन से देश कॉलिंग कोड पुनर्प्राप्त करने के आसान तरीके हैं या नहीं।देश कॉलिंग उपसर्ग

उदाहरण के लिए, मेरा ऐप उपयोगकर्ताओं के लिए देश कोडिंग कोड को पूर्व-भरना चाहेगा।

यदि उपयोगकर्ता यूएस में स्थित है तो कोड +1 वापस कर दिया जाएगा, चीन के लिए +83, ऑस्ट्रेलिया के लिए +61 आदि

मैं चारों ओर एक नज़र था, लेकिन मैं केवल देख सकते हैं:

NSLocale *locale = [NSLocale currentLocale]; 
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode]; 

कौन सा देश कोड, नहीं बुला उपसर्ग के लिए संक्षिप्त नाम देता है?

सहायता की सराहना की जाती है!

+0

अतिरिक्त जानकारी एक कोड है: यह एक iphone अनुप्रयोग है। –

+2

मुझे संदेह है कि आईओएस एसडीके कहीं भी इस कार्यक्षमता की पेशकश करता है। आपको देश-कोड <> फ़ोन उपसर्ग शब्दकोश कहीं भी स्टोर करने की आवश्यकता होगी। – Osiris

+0

इस प्रश्न में एक टाइपो को सही करने के लिए। चीन का डायल कोड +86 होना चाहिए। – nickcheng

उत्तर

10

इस श्रेणी के साथ-साथ फोन नंबर स्वरूपण प्रदान करने वाली कक्षा के लिए RMPhoneFormat देखें।

नोट: यह मेरे द्वारा बनाया गया था।

+0

धन्यवाद! –

+0

नोट: यह ऐप्पल से एक निजी ढांचे का उपयोग करता है। – newenglander

+1

@ न्यूनगलर नहीं, ऐसा नहीं है। 'RMPhoneFormat' द्वारा उपयोग किए जाने वाले कोई भी निजी एपीआई या ढांचे नहीं हैं। मेरे पास उस कोड का उपयोग करके दो दिन पहले अनुमोदित तीन ऐप्स थे। – rmaddy

1

NSLocaleCountryCode आईएसओ -3166 में परिभाषित देश कोड है, कॉलिंग कोड नहीं। आपको कहीं और कॉलिंग कोड ढूंढना होगा।

ISO3166 -> कॉलिंग कोड की पूरी सूची के लिए Link देखें।

+0

लिंक के लिए धन्यवाद, मैंने "डायलिंग देश कोड" और "आईएसओ 3166-1 देश चार कोड" डाउनलोड किया है और उन्हें अंदर रखा है "आईएसओ 3166-1 देश चार 2 कोड" के साथ एक NSDictionary कुंजी और "डायलिंग देश कोड" मूल्य होने के साथ। ऐसा लगता है कि ठीक काम कर रहा है। कोड साझा करने के लिए –

0

अच्छी तरह से एक वैकल्पिक और सिद्ध तरीका वेब सेवा को कॉल करना है, आप http://www.webservicex.net/country.asmx के गेटआईएसडी वेबमेड का उपयोग कर सकते हैं और वर्तमान स्थान के देश को पास कर सकते हैं।

इस तरह से आप यह सुनिश्चित कर सकते हैं कि आप उस देश के लिए प्रासंगिक आईएसडी आईडी प्राप्त करें जहां से उपयोगकर्ता ऐप तक पहुंच सके।

अन्य तरीकों से आप सभी आईएसओ देशों को SQLite डेटाबेस में रखना है और फिर आप वर्तमान स्थान के देश के आधार पर लुकअप निष्पादित करते हैं और संबंधित प्रविष्टि दिखाते हैं।

How to retrieve user's current city name?CLLocationManager का उपयोग कर देश का नाम ढूंढने का तरीका है।

आशा इस मदद करता है,

धन्यवाद, जिगर

0

आप, एक csv फ़ाइल में सभी देश कोड डाल करने के लिए इतना है कि बाद में आप उस विशेष फ़ाइल से देश कोड को पढ़ने और क्रमबद्ध कर सकते हैं की जरूरत है किसी विशेष देश कोड के लिए डेटा। निम्नलिखित देश कोड की पूरी सूची है

Afghanistan-93, 
Albania-355, 
Algeria-213, 
Andorra-376, 
Angola-244, 
Argentina-54, 
Armenia-374, 
Australia-61, 
Austria-43, 
Azerbaijan-994, 
Bahrain-973, 
Bangladesh-880, 
Belarus-375, 
Belgium-32, 
Belize-501, 
Benin-229, 
Bhutan-975, 
Bolivia-591, 
BosniaandHerzegovina-387, 
Botswana-267, 
Brazil-55, 
Brunei-673, 
Bulgaria-359, 
BurkinaFaso-226, 
Burundi-257, 
Cambodia-855, 
Cameroon-237, 
Canada-1, 
CapeVerde-238, 
CentralAfricanRepublic-236, 
Chad-235, 
Chile-56, 
China,People'sRepublicof-86, 
Colombia-57, 
Comoros-269, 
Congo,DemocraticRepublicofthe(CongoヨKinshasa)-243, 
Congo,Republicofthe(CongoヨBrazzaville)-242, 
CostaRica-506, 
Coted'Ivoire(IvoryCoast)-225, 
Croatia-385, 
Cuba-53, 
Cyprus-357, 
CzechRepublic-420, 
Denmark-45, 
Djibouti-253, 
Ecuador-593, 
Egypt-20, 
ElSalvador-503, 
EquatorialGuinea-240, 
Eritrea-291, 
Estonia-372, 
Ethiopia-251, 
Fiji-679, 
Finland-358, 
France-33, 
Gabon-241, 
Gambia,The-220, 
Georgia-995, 
Germany-49, 
Ghana-233, 
Greece-30, 
Guatemala-502, 
Guinea-224, 
Guinea-Bissau-245, 
Guyana-592, 
Haiti-509, 
Honduras-504, 
Hungary-36, 
Iceland-354, 
India-91, 
Indonesia-62, 
Iran-98, 
Iraq-964, 
Ireland-353, 
Israel-972, 
Italy-39, 
Japan-81, 
Jordan-962, 
Kazakhstan-7, 
Kenya-254, 
Kiribati-686, 
Korea,DemocraticPeople'sRepublicof(NorthKorea)-850, 
Korea,Republicof(SouthKorea)-82, 
Kuwait-965, 
Kyrgyzstan-996, 
Laos-856, 
Latvia-371, 
Lebanon-961, 
Lesotho-266, 
Liberia-231, 
Libya-218, 
Liechtenstein-423, 
Lithuania-370, 
Luxembourg-352, 
Macedonia-389, 
Madagascar-261, 
Malawi-265, 
Malaysia-60, 
Maldives-960, 
Mali-223, 
Malta-356, 
MarshallIslands-692, 
Mauritania-222, 
Mauritius-230, 
Mexico-52, 
Micronesia-691, 
Moldova-373, 
Monaco-377, 
Mongolia-976, 
Montenegro-382, 
Morocco-212, 
Mozambique-258, 
Myanmar(Burma)-95, 
Namibia-264, 
Nauru-674, 
Nepal-977, 
Netherlands-31, 
NewZealand-64, 
Nicaragua-505, 
Niger-227, 
Nigeria-234, 
Norway-47, 
Oman-968, 
Pakistan-92, 
Palau-680, 
Panama-507, 
PapuaNewGuinea-675, 
Paraguay-595, 
Peru-51, 
Philippines-63, 
Poland-48, 
Portugal-351, 
Qatar-974, 
Romania-40, 
Russia-7, 
Rwanda-250, 
Samoa-685, 
SanMarino-378, 
SaoTomeandPrincipe-239, 
SaudiArabia-966, 
Senegal-221, 
Serbia-381, 
Seychelles-248, 
SierraLeone-232, 
Singapore-65, 
Slovakia-421, 
Slovenia-386, 
SolomonIslands-677, 
Somalia-252, 
SouthAfrica-27, 
Spain-34, 
SriLanka-94, 
Sudan-249, 
Suriname-597, 
Swaziland-268, 
Sweden-46, 
Switzerland-41, 
Syria-963, 
Tajikistan-992, 
Tanzania-255, 
Thailand-66, 
Timor-Leste(EastTimor)-670, 
Togo-228, 
Tonga-676, 
Tunisia-216, 
Turkey-90, 
Turkmenistan-993, 
Tuvalu-688, 
Uganda-256, 
Ukraine-380, 
UnitedArabEmirates-971, 
UnitedKingdom-44, 
UnitedStates-1, 
Uruguay-598, 
Uzbekistan-998, 
Vanuatu-678, 
VaticanCity-379, 
Venezuela-58, 
Vietnam-84, 
Yemen-967, 
Zambia-260, 
Zimbabwe-263, 
Abkhazia-995, 
China,Republicof(Taiwan)-886, 
Somaliland-252, 
SouthOssetia-995, 
ChristmasIsland-61, 
Cocos(Keeling)Islands-61, 
NorfolkIsland-672, 
NewCaledonia-687, 
FrenchPolynesia-689, 
Mayotte-262, 
SaintBarthelemy-590, 
SaintMartin-590, 
SaintPierreandMiquelon-508, 
WallisandFutuna-681, 
CookIslands-682, 
Niue-683, 
Tokelau-690, 
Guernsey-44, 
IsleofMan-44, 
Jersey-44, 
BritishIndianOceanTerritory-246, 
BritishSovereignBaseAreas-357, 
FalklandIslands(IslasMalvinas)-500, 
Gibraltar-350, 
SaintHelena-290, 
HongKong-852, 
Macau-853, 
FaroeIslands-298, 
Greenland-299, 
FrenchGuiana-594, 
Guadeloupe-590, 
Martinique-596, 
Reunion-262, 
Aruba-297, 
NetherlandsAntilles-599, 
Svalbard-47, 
Ascension-247, 
TristandaCunha-290, 
PalestinianTerritories(GazaStripandWestBank)-970, 
WesternSahara-212, 
-1

मैं एक NSDictionary containing country codes and calling codes कि आप बुला कोड देखने के लिए इस्तेमाल कर सकते हैं बनाया।

अपने ऊपर कोड का उपयोग करना और NSDictionary आप कुछ इस तरह करना होगा ...

NSLocale *locale = [NSLocale currentLocale]; 
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode]; 
NSString *callingCode = [dictCodes objectForKey:countryCode]; 
+2

मैं यह पहचानने में कामयाब रहा कि मेरा मोबाइल देश कोड है: मोबाइल कंट्री कोड (एमसीसी): 724 हालांकि मुझे देश कोड पूर्व की पहचान करने की आवश्यकता है: ब्राजील +55 मुझे बता सकता है कि मैं यह कैसे कर सकता हूं? आयरलैंड के लिए –

1

उपयोग HMDiallingCode। यह उपयोगकर्ता के देश को निर्धारित करने के लिए कोरलोकेशन और रिवर्स जियोकोडिंग का उपयोग करता है, फिर इसे अंतर्राष्ट्रीय डायलिंग कोड पुनर्प्राप्त करें।

5

coretelephony.framework का उपयोग करके आप फोन नंबर का देश कोड प्राप्त कर सकते हैं।

CTTelephonyNetworkInfo *info = [CTTelephonyNetworkInfo new]; 

CTCarrier *carrier = info.subscriberCellularProvider; 

NSLog(@"Country code is: %@",carrier.mobileCountryCode); 
+0

रिटर्न '272', मुझे' 353' – DevC

+0

की आवश्यकता है, यहां मेरा देश कोड '+ 91' है या प्रतिक्रिया गलत कोड प्राप्त करें। कोई विचार मैं सही 'कोड' कैसे प्राप्त कर सकता हूं। ? – ilesh

1

मैं cocoacontrols.com पर एक और अधिक सरल समाधान में आया हूं।

Country List for iOS.

यह एक json फ़ाइल जो अधिक जानकारी अद्यतन करने के लिए विन्यस्त किया जा सकता है और के रूप में आवश्यक इस्तेमाल किया है की जांच करें।

5

यहाँ उपसर्ग

1 बुला पाने के लिए)

- (NSDictionary *)getCountryCodeDictionary { 
    return [NSDictionary dictionaryWithObjectsAndKeys:@"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", @"1", @"VG", @"1", @"VI", nil]; 
} 

2)

#pragma mark - Custom Method 
-(void)setDefaultCountryCode{ 
NSString *countryIdentifier = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode]; 
NSLog(@"%@",[NSString stringWithFormat:@"+%@",[[self getCountryCodeDictionary] objectForKey:countryIdentifier]]); 
} 
+0

बिल्कुल सही जवाब मैं वास्तव में यह धन्यवाद दोस्त चाहता हूँ। –

संबंधित मुद्दे