我尝试使用 QWebEngineView 访问摄像头和麦克风,因此我使用此代码在我的 Mac 上扩展了访问权限
我使用了 Here 的解决方案,当我在 QT 中运行应用程序时它运行良好,它第一次在我的 Mac 上询问我 QT 需要访问我的麦克风和相机,我允许它和它工作,问题是当我使用具有所有需要的依赖项和东西的发布版本时,应用程序崩溃,当我检查我的系统首选项的权限时,我没有看到该应用程序仅在相机和麦克风中列出 QT,并且我无法手动添加应用。
那么这个问题的解决方案是什么?让应用程序请求许可而不是崩溃?我需要对代码做哪些修改才能让应用像 QT 一样请求许可?
更新 我还尝试过从 .app 或允许终端请求相机和麦克风权限的包中的可执行文件运行应用程序,我工作了,但这不是要求用户这样做的有效解决方案。
我做的另一个测试是转到 .app 包内的 info.plist 并添加两者
在那之后我再次测试,应用程序没有崩溃,但相机打开,然后在 1 或 2 秒后相机关闭就是这样,所以我想我需要显示权限对话框,任何帮助或如何显示出来?
答案 0 :(得分:0)
在尝试了许多解决方案后,我将两个权限都添加到了 qt 包中的 plist 中
Privacy - Camra Usage Description
Privacy - Microphone Usage Description
但是使用值 6.0 或任何其他没有空格或长字符的值,它起作用了!它向我显示了权限框并将应用程序添加到系统首选项中的隐私,也许长文本不让对话框显示,我不确定。