首页 > 解决方案 > iOS 仅获取具有电子邮件地址的联系人

问题描述

我找不到 Apple 对 Contacts 框架的正确引用,所以我正在努力解决这个问题,我需要用至少有一个电子邮件地址的联系人填充 TableView,ContactsPickerController 不是解决方案,我需要填充 tableview就在viewDidLoad(). 任何人都可以为我的问题提供解决方案。

标签: iosswift

解决方案


可以这样联系:

参考-> 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属性,该属性是联系人的标记电子邮件地址数组。

苹果参考: -> https://developer.apple.com/documentation/contacts/cncontact?language=objc


推荐阅读