我找不到苹果对Contacts框架的正确引用,所以我在这个问题上苦苦挣扎,我需要用至少有一个电子邮件地址的联系人填充TableView,ContactsPickerController不是解决方案,我需要tableview将在viewDidLoad()
处填充。谁能为我的问题提供解决方案。
答案 0 :(得分:-1)
您可以通过以下方式获得联系:
参考 -> https://stackoverflow.com/a/37388443/7512091
var contacts = [CNContact]()
let keys = [CNContactFormatter.descriptorForRequiredKeysForStyle(.FullName)]
let request = CNContactFetchRequest(keysToFetch: keys)
do {
try self.contactStore.enumerateContactsWithFetchRequest(request) {
(contact, stop) in
// Array containing all unified contacts from everywhere
contacts.append(contact)
}
}
catch {
print("unable to fetch contacts")
}
此contact
对象的类型为CNContact
,它具有emailAddresses
属性,该属性是联系人的带标签电子邮件地址的数组。
Apple参考: -> https://developer.apple.com/documentation/contacts/cncontact?language=objc