Swift 获取联系人信息
如今很多开发者都开始尝试使用Swift进行开发,而且获取手机通讯录作为开发常见的需求
作为一个新的开发者,如果我们开发的应用需求不是特别高,只要求是iOS9以上,
那么恭喜你,基本上你写的很少,
你可以选择Contacts框架,这个框架是在iOS9才出来的@available(iOS 9.0, *)
直接上代码
首先在需要的类中
import Contacts
然后就可以使用这个框架了
首先lazy一个contactStore的对象
lazy var myContactStore: CNContactStore = {
let cn:CNContactStore = CNContactStore()
return cn
}()
首先是检测权限,如果没有授权就要申请权限,有权限则直接获取通讯录,没有权限可以选择弹窗是否需要重新开启权限
func checkContactStoreAuth(){
switch CNContactStore.authorizationStatus(for: .contacts) {
case .notDetermined:
print("未授权")
requestContactStoreAuthorization(myContactStore)
case .authorized:
print("已授权")
readContactsFromContactStore(myContactStore)
case .denied, .restricted:
print("无权限")
//可以选择弹窗到系统设置中去开启
default: