iOS how to find country code of the user's phone number?

拈花ヽ惹草 提交于 2019-11-29 14:28:45

问题


I have an app that needs to figure out the country code of the phone number the user has. My understanding is that I can't just get the phone number of the user, but, is there a way for example if I have a US phone number to get the country code +1?

I have found multiple answers that claim that using core telephony you can get the country code "+1" but I tried a few and none of them work.

I tried this:

CTTelephonyNetworkInfo *network_Info = [CTTelephonyNetworkInfo new];
CTCarrier *carrier = network_Info.subscriberCellularProvider;
NSString *mnc = [carrier mobileNetworkCode];
NSString *mcc = [carrier mobileCountryCode];    
NSLog(@"country code is: %@, mnc: %@, mcc: %@", carrier.mobileCountryCode, mnc, mcc);

which prints:

"country code is: 310, mnc: 410, mcc: 310"

So, for a US number I would like to get +1.

Is there a way to do this?

EDIT: With further search I found this:

How to map MCC + MNC to users phone country code in iOS objective-C without using Location info?

It might do the trick, but I was looking for a more official way to do this.


回答1:


You can get the country code with:

NSString *cc = [carrier isoCountryCode];

Which will give you US for a USA based device. You can map from country code to country phone code via the JSON data available on this.



来源:https://stackoverflow.com/questions/25095778/ios-how-to-find-country-code-of-the-users-phone-number

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!