CNContactPicker授予权限不提示

时间:2015-10-05 18:22:59

标签: ios swift cncontact

我正在更新我的应用以使用CNContacts而不是AB。我注意到我没有被提示授予我的联系人权限。在下面的开关中,它正确地告诉我我被拒绝访问 - 但它没有提示我给它访问权限。此外,它只显示选择器,甚至将所选属性存储到我正在填充的tableview中......

是否不需要获取从联系人中获取电话号码或电子邮件的权限?我很困惑,为什么我的代码似乎工作,如果我是“.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")
    }

1 个答案:

答案 0 :(得分:1)

您无需使用CNContactsPickerViewController的授权。这是"在过程中&#34 ;;它只是工作。实际上,联系人应用程序位于您的应用程序中 - 并且用户不需要使用“联系人”应用程序的权限。