我目前正在开发一个需要访问照片库或相机(或什至两者都取决于用户)的应用程序。
如果我关闭应用程序并拒绝访问该应用程序的相机和图库。
重新启动我的应用程序后,仍然可以同时访问两者,我可以打开并使用相机,甚至可以从图库中选择照片。 我以为苹果会限制访问?
答案 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
收到带有上下文的警报