我正在更新我的应用程序以使用 CNContacts 而不是 AB。我注意到没有提示我向我的联系人授予权限。在下面的开关中,它正确地告诉我我被拒绝访问 - 但它并没有提示我授予它访问权限。此外,它只显示选择器,甚至将所选属性存储到我正在填充的表格视图中......
从通讯录中获取电话号码或电子邮件是否不需要获得许可?如果我是“.Denied”,我很困惑为什么我的代码似乎在工作
//This code is called when you hit the "add a contact" button on my UI
switch CNContactStore.authorizationStatusForEntityType(.Contacts){
case .Authorized:
print("Already authorized")
presentPicker()
/* Access the address book */
case .Denied:
print("Denied access to address book")
store.requestAccessForEntityType(.Contacts){succeeded, err in
guard err == nil && succeeded else{
return
}
self.presentPicker()
}
case .NotDetermined:
store.requestAccessForEntityType(.Contacts){succeeded, err in
guard err == nil && succeeded else{
return
}
self.presentPicker()
}
default:
print("Not handled")
}