ios - 电话号码的 Swift 2 国家代码

标签 ios swift swift2

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

我做到了这一点:

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

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

谢谢!

最佳答案

根据 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 模拟器,因为它不提供运营商。

关于ios - 电话号码的 Swift 2 国家代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33508441/

相关文章:

swift - 如何使用方形而不是圆形 FSCalendar Swift 3 选择日期单元格

ios - 标题上方有/没有图像的可调整大小的 UIButton?

ios - AVAudioRecorder swift 2

ios - 如果 UISearchDisplayController 被弃用,那么带有搜索显示 Controller 的搜索栏有什么用呢?

ios - ViewController 没有正确地将 NSURL 数据发送到目标 ViewController

ios - performSegue 到 ViewController 后事件指示器未加载

swift - 两个 NSDate 的计算差异是错误的 - 已修复

ios - 将区号与电话号码分开 - iOS

html - 无法加载资源,插件在 iOS 上处理加载

swift - 错误 : Could not cast value of type 'Ninjumper.GameScene' to 'SKSpriteNode' when trying to transition