gpt4 book ai didi

ios - 地址簿:ABRecordCopyValue(person, kABPersonPhoneProperty) 无法获取一些号码

转载 作者:行者123 更新时间:2023-11-28 09:00:55 25 4
gpt4 key购买 nike

经过大量搜索,我遇到了一个(我相信)尚未明确解决的问题。

我的目标是从手机的联系人列表中提取电话号码。已授予权限。我使用这段代码从给定联系人(变量“人”)中提取数据:

let unmanagedPhones: ABMultiValueRef = ABRecordCopyValue(person, kABPersonPhoneProperty).takeUnretainedValue()
println("unmanagedPhone: \(unmanagedPhones)")

对于我手机上的某些联系人,这将返回以下内容(我已经用 # 删除了一些号码):

unmanagedPhone: ABMultiValueRef 0x170468d00 with 2 value(s) 0: $!Mobile!$ (0x#########) - 1 (###) ###-#### (0x170#45###) 1: $!Work!$ (0x#########) - 1 (###) ###-#### (0x#70##3#a0)

但是,对于许多其他人,这将返回:

unmanagedPhone: ABMultiValueRef 0x170474a40 with 0 value(s)

我已确认相关联系人至少有一个号码。在浏览地址簿时,我不明白为什么有些联系人可以使用而有些则不能。有没有人对如何开始调试有任何建议或指导?谢谢大家!

在 Xcode 6.4、iOS 8 上使用 Swift。

最佳答案

试试这个:

let unmanagedPhones = ABRecordCopyValue(person, kABPersonPhoneProperty)

//check to make sure we have phone numbers or we will get Fatal error
if unmanagedPhones != nil {

let phones: ABMultiValueRef = unmanagedPhones.takeUnretainedValue() as ABMultiValueRef
let allPhones = ABMultiValueCopyArrayOfAllValues(phones).takeRetainedValue() as NSArray

for eachPhone in allPhones{
print(eachPhone)
}
}
else {
println("No phone numbers found")
}

关于ios - 地址簿:ABRecordCopyValue(person, kABPersonPhoneProperty) 无法获取一些号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32062698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com