Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的应用程序拒绝访问联系人iOS-Swift_Ios_Iphone_Swift_Cncontact - Fatal编程技术网

我的应用程序拒绝访问联系人iOS-Swift

我的应用程序拒绝访问联系人iOS-Swift,ios,iphone,swift,cncontact,Ios,Iphone,Swift,Cncontact,我有一个视图,当它被加载时,它将首先检查访问联系人的权限,如果它被授权、未确定或拒绝。。第一次使用的代码将带有NotDetermined,因此它将调用函数以请求访问。。此函数中存在以下问题: private func requestContactsAccess() { //store = CNContactStore() store.requestAccessForEntityType(.Contacts) {granted, error in if grant

我有一个视图,当它被加载时,它将首先检查访问联系人的权限,如果它被授权、未确定或拒绝。。第一次使用的代码将带有NotDetermined,因此它将调用函数以请求访问。。此函数中存在以下问题:

private func requestContactsAccess() {
    //store = CNContactStore()

    store.requestAccessForEntityType(.Contacts) {granted, error in
        if granted {
            dispatch_async(dispatch_get_main_queue()) {
                self.accessGrantedForContacts()
                return
            }
        }
    }
}
现在该应用程序从不要求访问联系人,我不知道为什么,它会选择自己拒绝的权限

我不知道是代码还是模拟器的问题,因为这对其他人有用

注意:当我进入sim卡设置时,设置>隐私>联系人。。我什么也没找到!只是说:“请求访问您联系人的应用程序将显示在此处”。这意味着应用程序永远不会要求它


有什么帮助吗?

第一次执行代码时,弹出窗口显示访问联系人列表的权限。你在弹出窗口上点击了哪个按钮?(允许还是不允许)


我想你无意中点击了不允许。请转到设置->->允许访问联系人->将开关设置为是。

第一次执行代码时,会出现访问联系人列表权限的弹出窗口。你在弹出窗口上点击了哪个按钮?(允许还是不允许)


我想你无意中点击了不允许。请转到设置->->允许访问联系人->将开关设置为是。

我不确定这是否是您的问题,但如果您在iOS 10模拟器上运行应用程序,您需要提供“使用说明”以访问私人信息,如联系人(相机、相机卷等)

打开Info.plist并添加新条目,您将看到新的“隐私-…”设置。

选择“隐私-联系人使用说明”并键入使用说明。看看这是否有帮助

运行时,您应该会看到带有使用说明的授予访问权限弹出窗口。

我不确定这是否是你的问题,但如果你在iOS 10模拟器上运行你的应用程序,你需要提供“使用说明”来访问私人信息,如联系人(相机、相机卷等)

打开Info.plist并添加新条目,您将看到新的“隐私-…”设置。

选择“隐私-联系人使用说明”并键入使用说明。看看这是否有帮助

运行时,您应该会看到带有使用说明的授予访问权限弹出窗口。

您在以前的尝试中没有否认吗?iOS会记住它,不会再问。您可以尝试从设备或模拟器中删除应用程序,然后再次运行,以查看是否会发生变化。是否需要info.plist请求,如位置或蓝牙?@jcaron这只是请求此访问的VC,我尝试从模拟器中删除应用程序,并尝试其他模拟器型号,但还是一样thing@Ondrej不,它不需要帮助。你在以前的尝试中没有否认吗?iOS会记住它,不会再问。您可以尝试从设备或模拟器中删除应用程序,然后再次运行,以查看是否会发生变化。是否需要info.plist请求,如位置或蓝牙?@jcaron这只是请求此访问的VC,我尝试从模拟器中删除应用程序,并尝试其他模拟器型号,但还是一样thing@Ondrej不,不需要了help@zizoo您也可以尝试重置模拟器以检查默认行为。首先,谢谢。。第二,我没有选择不允许,因为在我提到的问题中,应用程序总是转到NotDetermined case not denied然后它会调用此方法请求访问,此方法默认不请求访问,它会选择不允许选择,这是我的问题,然后,访问将因此被拒绝method@zizoo您也可以尝试重置模拟器以检查默认行为。首先,谢谢。。第二,我没有选择不允许,因为在我提到的问题中,应用程序总是转到NotDetermined case not denied然后它会调用此方法请求访问,此方法默认不请求访问,它会选择不允许选择,这是我的问题,然后,由于此方法,访问将被拒绝