Как отладить приложение на Ma c, которое обращается к камере? - PullRequest
1 голос
/ 28 февраля 2020

Мое приложение Qt C ++ захватывает видео с камеры на Ma c. Он имеет значение NSCameraUsageDescription, установленное в его файле plist. Но, что неудивительно, это не помогает, если я запускаю его с помощью lldb, либо из командной строки, либо из Qt Creator. Он просто вылетает со строкой:

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? Он находится в Info.plist Qt Creator, но, думаю, это не поможет, если он работает через lldb.

1 Ответ

1 голос
/ 15 апреля 2020

Чтобы ваше приложение могло получить доступ к камере, у вас должен быть файл Info.plist с полем NSCameraUsageDescription, заполненным чем-то.

Если вы не собираете пакет приложений (.app), тогда вы можете поместить Info.plist рядом с вашим исполняемым файлом. Затем при следующем запуске с 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>
...