【问题标题】:iOS how to find country code of the user's phone number?iOS如何查找用户电话号码的国家代码?
【发布时间】:2014-08-02 13:55:59
【问题描述】:

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

它可能会奏效,但我正在寻找一种更正式的方式来做到这一点。

【问题讨论】:

标签: ios telephony


【解决方案1】:

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

NSString *cc = [carrier isoCountryCode];

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

【讨论】:

  • 这行得通。注意:它不能在模拟器上运行,因为它不在特定的“运营商”上运行,因此运营商将为 nil 并且无法返回 isoCountryCode。不错的 API!
猜你喜欢
  • 2017-11-22
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
  • 2020-03-19
  • 1970-01-01
  • 2016-04-16
  • 1970-01-01
相关资源
最近更新 更多