swift Contacts 和ContactsUI获取手机联系人

首先还是老样子Privacy - Contacts Usage Description。infoplist中获取权限

布局界面

设置代理,创建vc模态出来

 let cpvc = CNContactPickerViewController()
// 2.设置代理        cpvc.delegate = self
 // 3.弹出控制器        present(cpvc, animated: true, completion: nil)  

遵守代理协议CNContactPickerDelegate
  func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact) {
 // 1.获取用户的姓名
// lastname --> familyName
// firstname --> givenName 
letlastname = contact.familyName
 letfirstname = contact.givenName 
 print("姓名:\(firstname) \(lastname)")
self.nameLaben.text="\(lastname)\(firstname)"
// 2.获取用户电话号码(ABMultivalue)
letphones = contact.phoneNumbers
forphoneinphones {
letphoneLabel = phone.label
letphoneValue = phone.value.stringValue
print("phoneLabel:\(phoneLabel). phoneValue:\(phoneValue)")
self.phoneLabel.text="\(phoneValue)"
}
  }    
 //这个方法和上面的方法是一样的,只是它是获取多个联系人的信息
//    func contactPicker(_ picker: CNContactPickerViewController, didSelect contacts: [CNContact])
{//
 //    }
}
这样就行啦~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容