Я учился вызывать камеру с помощью OpenCV. Моя среда выглядит следующим образом: Catalina 10.15.5, Xcode Version 11.6 (11E708). Я создал новый проект инструмента командной строки под названием test и создал файл Info.plist в проекте. .In Info.plist Я написал это, <key>NSCameraUsageDescription</key> <string>该app需要您的授权才能使用摄像头</string>
. Затем я поместил Info.plist и test , файл exe c в продукты в Навигатор проекта в том же каталоге в Finder. И мой код
int main(int argc, const char * argv[]) {
cv::Mat frame;
cv::VideoCapture capture(0);
while (true) {
capture >> frame;
if (! frame.empty()) {
cv::imshow("window", frame);
}
if (cv::waitKey(30) == 27) {
break;
}
}
return 0;
}
Затем я запустил код и получил эту ошибку. OpenCV: не авторизован для захвата видео (статус 0), запрашивает ... Произошла ошибка при синтаксическом анализе Info.plist для пакета по URL <0x11d0053a0>: NSCocoaErrorDomain - 3840 Это приложение вылетело из-за попытки доступа к конфиденциальным данным без описания использования. Info.plist приложения должен содержать ключ NSCameraUsageDescription со строковым значением, объясняющим пользователю, как приложение использует эти данные. Но когда я дважды щелкнул test exe c в Finder, он сработал хорошо. Но также есть строка в тернимальном . Произошла ошибка при синтаксическом анализе Info.plist для пакета по URL <0x7ff36df0f780>: NSCocoaErrorDomain - 3840