獲取通訊錄-ContactsUI(swift)
-
導(dǎo)入框架
import ContactsUI
-
實(shí)現(xiàn)步驟及代碼
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { if #available(iOS 9.0, *) { // 1. 創(chuàng)建聯(lián)系人選擇控制器啊 let vc = CNContactPickerViewController() // 1.1 設(shè)置代理, 接收用戶的點(diǎn)擊 vc.delegate = self // 2. 彈出控制器 presentViewController(vc, animated: true, completion: nil) } else { // Fallback on earlier versions }
}
// MARK: - CNContactPickerDelegate
extension ViewController: CNContactPickerDelegate {
// 取消選中時(shí)調(diào)用
func contactPickerDidCancel(picker: CNContactPickerViewController) {
print("取消")
}
// 選擇某個(gè)聯(lián)系人
func contactPicker(picker: CNContactPickerViewController, didSelectContact contact: CNContact) {
}
// 選擇某個(gè)聯(lián)系人 某個(gè)屬性
//
func contactPicker(picker: CNContactPickerViewController, didSelectContactProperty contactProperty: CNContactProperty) {
}
// 選擇多個(gè)聯(lián)系人
func contactPicker(picker: CNContactPickerViewController, didSelectContacts contacts: [CNContact]) {
for contact in contacts {
let name = contact.familyName
print(name)
let phones = contact.phoneNumbers
for phone in phones {
let label = phone.label
let value = phone.value as! CNPhoneNumber
print(label, value.stringValue)
}
}
}
// // 選擇一個(gè)聯(lián)系人多個(gè)屬性
// func contactPicker(picker: CNContactPickerViewController, didSelectContactProperties contactProperties: [CNContactProperty]) {
//
// }
```