从电话簿iOS Swift中获取电子邮件联系人

时间:2016-10-25 09:56:56

标签: ios objective-c swift

我想使用Swift从iOS中的电话簿中检索电子邮件联系人。这就是我的表现:

override func viewDidLoad() {
    super.viewDidLoad()
    let contactPicker = CNContactPickerViewController()
    contactPicker.delegate = self
    contactPicker.predicateForEnablingContact = NSPredicate(format: "emailAddresses.@count > 0")
    present(contactPicker, animated: true, completion: nil)
}
func contactPicker(picker: CNContactPickerViewController, didSelectContacts contacts: [CNContact]) {

    var emailContact = contacts.map { $0.emailAddresses.first!.value as String }
    print(emailContact) //It's actually not returning anything.

}

结果屏幕是: Resultant Screen

我想要的是看起来像: Expected resultant

我导入了ContactsContactsUI,并且还声明了协议CNContactPickerDelegate我真的无法弄清楚didSelectContacts函数无效的原因。

1 个答案:

答案 0 :(得分:0)

所以我只知道造成这个问题的原因。现在它对我来说很好,我使用的是didSelectContacts而不是didSelect contacts。 这让我选择了多个联系人

func contactPicker(_ picker: CNContactPickerViewController, didSelect contacts: [CNContact]) {
    var emailContact = contacts.map { $0.emailAddresses.first!.value as String }
    print(emailContact) 
    //returns: ["John-Appleseed@mac.com", "kate-bell@mac.com"]
}