权限被拒绝后,可以访问照片库和相机

时间:2019-05-28 14:09:22

标签: ios authorization media

我目前正在开发一个需要访问照片库或相机(或什至两者都取决于用户)的应用程序。

如果我关闭应用程序并拒绝访问该应用程序的相机和图库。

重新启动我的应用程序后,仍然可以同时访问两者,我可以打开并使用相机,甚至可以从图库中选择照片。 我以为苹果会限制访问?

2 个答案:

答案 0 :(得分:0)

我不这么认为。如果访问被拒绝,Apple始终限制使用相机或照片库。请使用以下代码检查当前状态并进行验证。

    import Photos

    if type == .CAMERA{

        if AVCaptureDevice.authorizationStatus(forMediaType: AVMediaTypeVideo) ==  AVAuthorizationStatus.authorized {
            completionHander(true) //Allowed
        } else {
            //Dont Know
            AVCaptureDevice.requestAccess(forMediaType: AVMediaTypeVideo, completionHandler: { (granted: Bool) -> Void in
                completionHander(granted)
            })
        }
    }else{
        let status = PHPhotoLibrary.authorizationStatus()
        switch status {
        case .authorized:
            completionHander(true)//Allowed
            break
        case .denied, .restricted :
            completionHander(false)//Not Allowed
            break
        case .notDetermined:
            //Dont Know
            PHPhotoLibrary.requestAuthorization { status in
                switch status {
                case .authorized:
                    completionHander(true)
                    break
                case .denied, .restricted:
                    completionHander(false)
                    break
                case .notDetermined:
                    completionHander(false)
                    break
                }
            }
        }
    }

答案 1 :(得分:0)

好的,我知道答案了... 我只是不明白这个概念。 如果我拒绝访问photoLibrary,则无法保存图像,但是,如果授予“摄像机”访问权限,我仍然可以使用photoLibrary。 如果摄像机访问被拒绝,我仍然会从info.plist

收到带有上下文的警报