Я пытаюсь открыть веб-камеру и отобразить короткий снимок с помощью OpenCV. В настоящее время я работаю над Xcode, с языком C ++.
Код довольно прост:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, const char * argv[]) {
// variable initialization
Mat frame;
VideoCapture cap; // 0 is the webcam
// try to open camera
cap.open(0);
if (!cap.isOpened()) return -1; // check if there is no video or no way to display it
// create a window and display the video capture
namedWindow("Video Capture", CV_WINDOW_AUTOSIZE);
for (int i=0; i<100; i++) {
cap >> frame;
imshow("Video Capture", frame);
waitKey(1);
}
return 0;
}
При запуске кода возвращается следующая ошибка:
[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.
Таким образом, я добавил файл Info.plist в проект (в настоящее время в том же каталоге, где находится main.cpp) и добавил описание, предложенное компилятором:
Key: Privacy - Camera Usage Description
Value: $(PRODUCT_NAME) camera use
Затем в настройках сборки проекта я ссылался на только что написанный файл, используя полный путь, как вы можете видеть на следующем рисунке:
![Path to Info.plist file](https://i.stack.imgur.com/lzyqK.png)
Я уверен, что путь правильный, так как я перетаскиваю сам файл, но компилятор продолжает показывать ту же ошибку и завершает выполнение.