macos - 如何在 Mac 上调试访问相机的应用程序?
问题描述
我的 Qt C++ 应用程序从 Mac 上的摄像头捕获视频。它NSCameraUsageDescription
在其 plist 文件中设置了值。但是,毫不奇怪,如果我从命令行或 Qt Creator 使用 lldb 运行它,这将无济于事。它只是与行崩溃:
2020-02-28 15:32:14.462735-0500 mqtt[47726:867880] [access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
那么我该如何为lldb做到这一点?它在 Qt Creator 的 Info.plist 中,但我想如果它是通过 lldb 运行的,那将无济于事。
解决方案
要允许您的应用程序访问相机,您应该有一个Info.plist
文件,其中的字段NSCameraUsageDescription
填充了一些内容。
如果您没有构建应用程序包 (.app),则可以将Info.plist
next 放在可执行文件中。然后下次你用它运行它时,lldb
它会要求授权访问相机。一旦你给它一次,你可能不得不关闭应用程序并重新启动它。
根据我的测试,以下 Info.plist 内容就足够了:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSCameraUsageDescription</key>
<string>Video Input</string>
</dict>
</plist>
推荐阅读
- c# - 如何从他的左右字符串中解析一个字符串
- python - Odoo 安装错误:psycopg2.errors.UndefinedTable: 关系“ir_module_module”不存在
- python - 在 PySpark 中将 isodate 字符串转换为日期格式
- html - 文本输入的 CSS 样式在 Safari 中不起作用
- jquery - Json 数据填充在选择选项中,其中数据位于另一个数组中
- jenkins - 为参数化 Jenkins 项目传递整数参数
- python - 想在 OpenCV python 中加速模板匹配
- html - 右侧有重叠块的百分比 + 最大宽度样式容器
- php - 使用 php 从 jsonp 获取值
- google-chrome - Chrome 扩展程序通过停留在当前选项卡中来访问非活动选项卡 dom