qt webengine 请求 mac 上的摄像头和麦克风访问权限

qt webengine request camera and mic access on mac

我尝试使用 QWebEngineView 访问摄像头和麦克风,所以我使用此代码在我的 Mac

上授予访问权限

我使用的解决方案是 当我 运行 QT 中的应用程序时它工作正常并且它第一次在我的 Mac 上询问我 QT 需要访问我的麦克风和摄像头我允许它并且它工作,问题是当我使用具有所有需要的依赖项和东西的发行版本时,应用程序崩溃并且当我检查我的系统偏好设置以获得权限时我没有看到该应用程序是Camer和Mic都只列出了QT,无法手动添加应用

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

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

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

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

在尝试了很多解决方案后,我在 qt bundle 中向 plist 添加了两个权限,这两种方法都行得通

Privacy - Camra Usage Description
Privacy - Microphone Usage Description

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