iOS如何查找用户电话号码的国家/地区代码?

时间:2014-08-02 13:55:59

标签: ios telephony

我有一个应用需要找出用户拥有的电话号码的国家/地区代码。我的理解是,我无法获取用户的电话号码,但是,有没有办法,例如,如果我有一个美国电话号码来获取国家代码+1?

我找到了多个答案,声称使用核心电话可以获得国家代码" + 1"但我尝试了一些,但没有一个工作。

我试过了:

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);

打印:

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

所以,对于一个美国号码,我想获得+1。

有办法做到这一点吗?

编辑: 通过进一步搜索,我发现了这个:

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

它可能会成功,但我正在寻找更正式的方法来实现这一目标。

1 个答案:

答案 0 :(得分:9)

您可以使用以下网址获取国家/地区代码:

NSString *cc = [carrier isoCountryCode];

这将为您提供US美国设备。您可以通过this上提供的JSON数据从国家/地区代码映射到国家/地区电话代码。