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

我有一个应用程序需要找出用户拥有的电话号码的国家代码。 我的理解是,我不能只获得用户的电话号码,但是,有没有办法,例如,如果我有一个美国电话号码来获得国家代码+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。

有没有办法做到这一点?

编辑:进一步搜索我发现:

如何在不使用位置信息的情况下将MCC + MNC映射到iOS objective-C中的用户手机国家/地区代码?

它可能会成功,但我正在寻找更正式的方法来做到这一点。

您可以通过以下方式获取国家/地区

 NSString *cc = [carrier isoCountryCode]; 

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