CNContactPicker 授予权限不提示
CNContactPicker grant permission not prompting
我正在更新我的应用程序以使用 CNContacts 而不是 AB。我注意到我没有收到向我的联系人授予权限的提示。在下面的开关中,它正确地告诉我我被拒绝访问 - 但它不会提示我授予它访问权限。此外,它只显示选择器,甚至将所选属性存储到我正在填充的表视图中...
从联系人中获取 phone 号码或电子邮件不需要获得许可吗?我很困惑,如果我是“.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")
}
您无需授权即可使用 CNContactsPickerViewController。是"out of process";它只是工作。实际上,它是位于您的应用程序中的联系人应用程序 — 用户不需要使用联系人应用程序的权限。
我正在更新我的应用程序以使用 CNContacts 而不是 AB。我注意到我没有收到向我的联系人授予权限的提示。在下面的开关中,它正确地告诉我我被拒绝访问 - 但它不会提示我授予它访问权限。此外,它只显示选择器,甚至将所选属性存储到我正在填充的表视图中...
从联系人中获取 phone 号码或电子邮件不需要获得许可吗?我很困惑,如果我是“.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")
}
您无需授权即可使用 CNContactsPickerViewController。是"out of process";它只是工作。实际上,它是位于您的应用程序中的联系人应用程序 — 用户不需要使用联系人应用程序的权限。