权限被拒绝后可以访问照片库和相机
Posted
技术标签:
【中文标题】权限被拒绝后可以访问照片库和相机【英文标题】:Photo Library and Camera are accessible after permission got denied 【发布时间】:2019-05-28 14:09:22 【问题描述】:我目前正在开发一个应用程序,我需要访问照片库或相机(甚至两者,这取决于用户)。
如果我关闭应用程序并拒绝该应用程序访问相机和库。
重新启动我的应用程序后,仍然可以访问两者,我可以打开并使用相机,甚至可以从库中选择一张照片。 这怎么可能,我还以为苹果会限制访问呢。
【问题讨论】:
我还认为他们会限制访问,但您还应该检查权限并在需要的地方/时间提示 您如何以编程方式检查他们的权限选择? @KSigWyatt 通常您会从 info.plist 文件中获得带有上下文的警报。我只是想知道访问被拒绝,但苹果仍然让应用程序使用相机,例如 【参考方案1】:我不这么认为。如果访问被拒绝,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
【讨论】:
这就是我现在正在做的,但我认为它会受到Apple的限制。 你能分享一下你的应用设置截图吗?【参考方案2】:好吧,我知道答案了... 我只是没有得到这个概念。 如果我拒绝访问 photoLibrary,则无法保存图像,但如果授予相机访问权限,我仍然可以使用 photoLibrary。 如果相机访问被拒绝,我仍然会从 info.plist 中收到带有上下文的警报
【讨论】:
以上是关于权限被拒绝后可以访问照片库和相机的主要内容,如果未能解决你的问题,请参考以下文章