OpenCVを組み込んだiOSアプリが“Missing Info.plist key”を理由にAppStore審査不合格

不合格理由

アプリがカメラ機能を使用するにもかかわらず xxx-Info.plist にカメラ機能を使用する理由の記載(NSCameraUsageDescription)がない。

カメラ機能を明示的には使用していないケースであっても、OpenCV(opencv2.framework)を組み込むとカメラ機能を呼び出す(ことができる)バイナリ・オブジェクトがアプリに含まれてしまう。

 

フレームワーク(バイナリ・オブジェクト)の中身のチェック方法

AVCaptureDeviceInputがシンボルに含まれることが不合格の理由となっている

 

カメラアクセス機能を除外してopencv2.frameworkを作成する方法

1. GitHubからソースコードを取得する

> ~/<my_working_directory>は個人の環境に応じて書き換える

2. ビルドするバージョンをチェックアウトする

> "3.2.0"は必要に応じて書き換える

3. (OpenCVのビルドスクリプトのための)シンボリック・リンクを作成する

4. カメラアクセス機能(videoio)除外をオプション指定に加えてビルドスクリプトを実行する