Swift如何手动设置photoLibrary和相机授权?

Posted

技术标签:

【中文标题】Swift如何手动设置photoLibrary和相机授权?【英文标题】:Swift how to set manually photoLibrary and camera authorization? 【发布时间】:2020-01-15 12:51:32 【问题描述】:

当使用我的应用程序时,会要求用户访问相机和图书馆一次(需要时),在“苹果警报”(requestAccess)中回答允许与否。 我需要添加一个视图,用户可以在以后根据需要更改这些授权。我添加了开关按钮,以便用户可以选择是否保持授权。但我找不到如何设置授权状态。 有没有办法手动更改授权状态,从 .authorized 到 .denied 或相反? 我尝试使用“AVCaptureDevice.requestAccess()”来提示苹果警报,但它没有显示用户之前是否已经授权。 欢迎任何建议:)

【问题讨论】:

【参考方案1】:

出于安全和隐私原因,开发人员只有一种方法 - 使用系统对话框请求授权以访问受保护的系统服务。

但您可以为您的用户建议一种快捷的系统设置方法。此代码启动“设置”应用并显示您应用的自定义设置。

let settingUrl = URL(string: UIApplication.openSettingsURLString)
DispatchQueue.main.async 
    UIApplication.shared.open(settingUrl!, options: [:], completionHandler: nil)

【讨论】:

非常感谢@AlexSmet,它运作良好,这是一个很好的方法!

以上是关于Swift如何手动设置photoLibrary和相机授权?的主要内容,如果未能解决你的问题,请参考以下文章

Swift:PhotoLibrary 删除资产并取得进展

使用 Photolibrary 将 shouldAutorotate 设置为 false

PhotoLibrary 访问 .notDetermined,当拒绝时启用

如何在 swift 4 Codable 中手动解码数组?

如何在横向模式下显示 UIImagePickerControllerSourceTypePhotoLibrary

如何显示 Cordova PhotoLibrary 返回的图像?