OpenCVのサンプルプログラムで、カメラを開くプログラムを実行したらエラーがでたという話。
どうやらMac OS Mojaveからは、カメラなどを使用するのに一つ手間を加えないといけないらしい...
#動作環境
Mac OS Mojave 10.14.3
Xcode 10.2
OpenCV 4.0.1
#対処法
エラー内容は以下の通り
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にNSCameraUsageDescriptionを追加して、利用目的を書かないといけないらしいです。
どうやらこの問題はちょっと前からあったらしく、サイトをいくつか参照しましたが
info.plist
があるであろう場所にありませんでした。
なので作ります。
info.plistの作成 (既にある人は次項へ)
File→New→FileでProperty Listを選択、info.plist
と名前をつける。
左の項目のinfo.plist
を選択して、Rootを右クリック
Property List Typeからinfo.plist
を選択
これでinfo.plist
が作成できました
カメラを使えるようにする
information Property Listの横の+ボタンを押し、Privacy - Camera Usage Description
を選択
(NSCameraUsageDescriptionに書き換わるかも)
選択したkeyのValueを埋める
(利用目的を書くらしいが、審査に通したりしないなら何か適当に書いておけば大丈夫です)
projectの一番上のファイル名を選択、Generalタブに移動
一番上にボタンが出ているので押す(Choose info.plist File...と書かれたボタン)
Build Phasesタブに移動
Copy Filesを開き、以下の操作を実行
・Destination を Products Directory に変更
・Subpathを削除
・Copy only when installing のチェックボックスを外す
・下の+をおし、info.plistを選択しAddボタンを押す
これを
こう
自分はこれでできました。
プログラムを動かしたらポップアップが出るので、
OK押したらカメラが開きます。
メモ終わり。