我想使用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
我导入了Contacts
和ContactsUI
,并且还声明了协议CNContactPickerDelegate
我真的无法弄清楚didSelectContacts
函数无效的原因。
答案 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"]
}