我想用opencv为大学课程创建一个相机校准应用程序。我在macOS High Sierra上创建了一个命令行工具应用程序。不幸的是,它没有一个info.plist文件。我的应用程序崩溃并显示以下错误消息:
CameraCalibration[2314:193066] [access]此应用程序已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。应用程序的Info.plist必须包含NSCameraUsageDescription键,该键带有一个字符串值,用于向用户解释应用程序如何使用此数据。程序以退出代码结束:9
我已经尝试添加一个info.plist文件,并在应用程序的常规选项卡中设置它。我还添加了NSCameraUsageDescription键和字符串。不幸的是,我的应用程序不断崩溃,由于完全相同的错误。
1条答案
按热度按时间tkclm6bt1#
您可以通过设置
Create Info.plist Section in Binary
并在Xcode > Target > Build Settings > Packaging
中设置Info.plist
文件的路径(更改以粗体标记)来在二进制文件中嵌入Info.plist
:x1c 0d1x的数据
你的
Info.plist
可能看起来像这样:字符串
N.B:当在Xcode(11.2.1/ Catalina 10.15.1)的调试器中运行时,我仍然会得到一个隐私异常,但是plist * 是 * 嵌入在二进制文件中的。我想这是一个Xcode bug。将
Info.plist
放入Products
目录可以解决这个问题,尽管每次修改二进制文件时似乎都必须重新授权麦克风/摄像头的使用。