0

我尝试使用 QWebEngineView 访问相机和麦克风,所以我使用此代码在我的 Mac 上访问

我使用了这里的解决方案,当我在 QT 中运行应用程序时它运行良好,它第一次在我的 Mac 上询问我 QT 需要访问我的麦克风和相机,我允许它并且它可以工作,问题是当我使用具有所有需要的依赖项和内容的发布版本,应用程序崩溃,当我检查我的系统首选项的权限时,我没有看到应用程序在相机和麦克风中仅列出 QT,我无法添加应用程序手动。

那么这个问题的解决方案是什么?让应用程序请求许可而不是崩溃?我需要对代码进行哪些编辑以允许应用程序像 QT 一样请求许可?

更新 我也尝试过从 .app 或允许终端请求相机和麦克风权限的包中的可执行文件运行应用程序,我工作了,但这不是要求用户这样做的有效解决方案。

我做的另一个测试是去 .app 包内的 info.plist 并添加两者

  • 隐私 - Camra 使用说明
  • 隐私 - 麦克风使用说明

之后我再次测试,应用程序没有崩溃,但相机打开,然后在 1 或 2 秒后相机关闭就是它,所以我想我需要显示权限对话框,任何帮助或如何显示它?

4

1 回答 1

0

在尝试了许多解决方案之后,我在 qt bundle 中的 plist 中添加了两个权限

Privacy - Camra Usage Description
Privacy - Microphone Usage Description

但是使用值 6.0 或任何其他没有空格或长字符的值,它起作用了!它向我显示了权限框并将应用程序添加到系统偏好设置中的隐私中,可能是长文本不让对话框显示,我不确定。

于 2021-01-04T17:43:31.457 回答