gpt4 book ai didi

ios - 相机和照片库权限 - 当用户不接受允许 iOS 10 时处理

转载 作者:可可西里 更新时间:2023-10-31 23:57:35 25 4
gpt4 key购买 nike

我请求用户接受访问照片库和使用相机。我希望能够处理用户不接受的情况,但我在这样做时遇到了问题。这是我检查用户权限时的代码:

AVCaptureDevice.requestAccess(forMediaType: AVMediaTypeVideo) { granted in
if granted {
if(!self.captureSession.isRunning){
self.setupCustomCamera()
}
} else {
self.takePhotoButton.alpha = 0.5
self.takePhotoButton.isEnabled = false
self.showNeedAccessMessage()
}
}

我的showNeedAccessMessage()如下:

func showNeedAccessMessage() {
let alert = UIAlertController(title: "Camera Settings", message: "Please adjust your device settings to grant access to camera use.", preferredStyle: .alert)

alert.addAction(UIAlertAction(title: "OK", style: .cancel, handler: { (action: UIAlertAction) -> Void in
self.dismiss(animated: true, completion: nil)
}))

show(alert, sender: nil)
}

这里的问题是,当 granted 不满足时,我想显示一个警报。我的应用程序没有显示警报,而是尝试打开“图像设置”页面,显示如下: enter image description here

是否有针对这种情况的默认处理?如果是这样,我有什么想法可以修复黑色的“图像设置”屏幕吗?

提前致谢!

最佳答案

 AVCaptureDevice.requestAccess(forMediaType: AVMediaTypeVideo, completionHandler: { (granted :Bool) -> Void in
if granted == true
{
// User granted
}
else
{
let alert = UIAlertController(title: "Error", message: "This app is not authorized to use Camera.", preferredStyle: .alert)

alert.addAction(UIAlertAction(title: "Setting", style: .default, handler: { (_) in
DispatchQueue.main.async {
if let settingsURL = URL(string: UIApplicationOpenSettingsURLString) {
UIApplication.shared.openURL(settingsURL)
}
}
}))
alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
self.present(alert, animated: true, completion: nil)

return
}
});

关于ios - 相机和照片库权限 - 当用户不接受允许 iOS 10 时处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44622475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com