iOS 9:获取CNContact国家代码和电话号码

问题描述

不幸的是,由于它们是私有的,您无法获得它们。

let numberValue = number.value

let countryCode = numberValue.valueForKey("countryCode") as? String
let digits = numberValue.valueForKey("digits") as? String

这行得通,但是如果您在此行中做某事,

您可以在这里看到所有可以使用的好东西。

如果您不打算将应用程序上载到商店,则上述解决方案是可以的,否则我会坚持使用某种正则表达式,因为它知道将来可能会崩溃:

countryCode=(\w{2}),.*digits=(.+)>$

解决方法

我想从iOS 9上的CNContact获取国家代码和电话号码。我尝试了很多事情,但找不到方法。我获得的最佳结果是打印:

<CNPhoneNumber: 0x7f886389a140: countryCode=us,digits=5555648583>

这是我的方法:

func contactPicker(picker: CNContactPickerViewController,didSelectContact contact: CNContact) {
    print(contact.phoneNumbers.count)
    for number: CNLabeledValue in contact.phoneNumbers {
        print(number.value)
    }
}

我想要的是countryCode和数字的值。有什么想法如何在Swift中访问它们吗?谢谢!

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...