Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.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 UIImagePickerController isSourceTypeAvailable(类型)始终为true_Ios_Permissions_Camera - Fatal编程技术网

Ios UIImagePickerController isSourceTypeAvailable(类型)始终为true

Ios UIImagePickerController isSourceTypeAvailable(类型)始终为true,ios,permissions,camera,Ios,Permissions,Camera,如果我通过设置应用程序阻止相机,此函数始终返回true。它完全忽略权限。其他人注意到了吗?使用AVCaptureDevice.authorizationStatus(用于:cameraMediaType)进行授权检查 func checkCameraAuth() { let authorizationStatus = AVCaptureDevice.authorizationStatus(for: .video) switch authorizationStatu

如果我通过设置应用程序阻止相机,此函数始终返回true。它完全忽略权限。其他人注意到了吗?

使用
AVCaptureDevice.authorizationStatus(用于:cameraMediaType)
进行授权检查

func checkCameraAuth() {
        let authorizationStatus = AVCaptureDevice.authorizationStatus(for: .video)
        switch authorizationStatus{
        case .denied:
            print("you can request permission from settings")

        case .restricted:
            print("Restricted")
        case .authorized:
            print("Authorized, proceed")
        case .notDetermined:
            AVCaptureDevice.requestAccess(for: .video) { success in
                if success {
                    print("Permission granted you can now perform operation here")
                } else {
                    print("Permission denied")
                }
            }
        @unknown default:
            fatalError()
        }
    }

在swift 4中,您可以通过以下方式检查您的相机是否可用:

if AVCaptureDevice.authorizationStatus(for: .video) ==  .authorized {
    //already authorized
} else {
    AVCaptureDevice.requestAccess(for: .video, completionHandler: { (granted: Bool) in
        if granted {
            //access allowed
        } else {
            //access denied
        }
    })
}

从这里的答案->

您应该扩展您的答案,以帮助搜索此问题的其他人更好地了解如何解决问题。您是对的,我认为这家伙已经具备了一些强大的技能,因为他捕捉到了一个场景。但你是对的,应该提供详细信息让我更新答案:)