gpt4 book ai didi

ios - 使用 Swift 在 iOS 中读取地址簿数据

转载 作者:行者123 更新时间:2023-11-29 02:11:48 24 4
gpt4 key购买 nike

我对 Swift 还是个新手,在 iOS 中使用地址簿,事实证明我很吃力。具体来说,我正在尝试读取联系人的“社交资料”。

对于像名字/姓氏这样的字符串值,这是可行的:

let firstName = ABRecordCopyValue(person, kABPersonFirstNameProperty).takeRetainedValue() as String

但是当我尝试对 kABPersonSocialProfileProperty 属性“(kABMultiDictionaryPropertyType 类型的多值属性)”做基本相同的事情时,如下所示:

let socialData = ABRecordCopyValue(person, kABPersonSocialProfileProperty)

我收到错误:“CFString”无法转换为“ABPropertyID”

我不清楚为什么会抛出这个错误。

我已经阅读了 Apple iOS Developer 文档,似乎 ABRecordCopyValue 是正确的函数(“返回记录属性的值。”)...所以我不确定从这里到哪里去。

有人可以解释错误以及我应该去哪里阅读地址簿中联系人的社交资料数据吗?谢谢。

最佳答案

这就是我最终所做的(请原谅部分片段,匹配函数的一部分):

let socialProfiles: ABMultiValueRef = ABRecordCopyValue(person, kABPersonSocialProfileProperty).takeRetainedValue() as ABMultiValueRef
for var index:CFIndex = 0; index < ABMultiValueGetCount(socialProfiles); ++index {

if let socialProfile: AnyObject = ABMultiValueCopyValueAtIndex(socialProfiles, index).takeRetainedValue() as? NSDictionary {

let service = socialProfile["service"] as String
if service == "Twitter" {

let username = socialProfile["username"] as String
if username == paramUsername {
return (true, person)
}
}
}
}

关于ios - 使用 Swift 在 iOS 中读取地址簿数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29217115/

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