iOS仅提取具有电子邮件地址的联系人

时间:2019-11-10 13:48:18

标签: ios swift

我找不到苹果对Contacts框架的正确引用,所以我在这个问题上苦苦挣扎,我需要用至少有一个电子邮件地址的联系人填充TableView,ContactsPickerController不是解决方案,我需要tableview将在viewDidLoad()处填充。谁能为我的问题提供解决方案。

1 个答案:

答案 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