【问题标题】:Swift 2 country code for a phone number电话号码的 Swift 2 国家代码
【发布时间】:2015-11-04 04:55:52
【问题描述】:

我正在尝试从 iPhone 用户那里获取国家代码。我不确定是否有任何有关该国家/地区的信息以及某些应用程序(如 Viber)如何建议拨号代码。

我已经走到这一步了:

    let currentLocale = NSLocale.currentLocale()
    let a = currentLocale.localeIdentifier

我在模拟器上对此进行了测试,它返回“en_US”。有人可以建议我应该如何基于此获取国家/地区的拨号代码(或至少是国家/地区代码,我将发送到服务器以获取拨号代码)。

谢谢!

【问题讨论】:

标签: ios swift swift2


【解决方案1】:

根据 Pekka 的建议,国家标识符的加载方式如下:

   // Setup the Network Info and create a CTCarrier object
   let networkInfo = CTTelephonyNetworkInfo()
   let carrier = networkInfo.subscriberCellularProvider

   // Get carrier name
   let countryCode = carrier?.isoCountryCode
   return countryCode

另外,导入CoreTelephony 类也很重要

import CoreTelephony

之后可以从http://country.io/data/获取国家的拨号代码

另外请注意,这不适用于 iOS 模拟器,因为它不提供载体。

【讨论】:

  • 这是一个很棒的解决方案!
  • 如果没有,不要忘记在主线程中运行此代码 - 你会崩溃。
猜你喜欢
  • 2015-01-19
  • 2017-11-22
  • 2021-10-03
  • 2017-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
相关资源
最近更新 更多