热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《相机和照片库权限-当用户不接受允许iOS10时处理》经验,为你挑选了1个好方法。

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

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案件不符合时,我想表示警告.我的应用程序尝试打开"图像设置"页面而不是我的警报显示,该页面显示如下: 在此输入图像描述

这种情况是否有默认处理?如果是这样,任何想法如何修复黑色'图像设置'屏幕?

先感谢您!



1> 小智..:
 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
                }
            });


推荐阅读
author-avatar
心動寶貝r
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有