“Missing Info.plist key”を理由にAppStore審査不合格

Dear developer,
We have discovered one or more issues with your recent delivery for “xxxxx”. To process your delivery, the following issues must be corrected:
Missing Info.plist key – This app attempts 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.
Once these issues have been corrected, you can then redeliver the corrected binary.
Regards,
The App Store team

不合格の直接的理由

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

不合格の間接的理由

カメラ機能を明示的には使用していないが、組み込んでいるフレームワーク(opencv2.framework)がカメラ機能(AVCaptureDeviceInput)を呼び出す(ことができる)オブジェクトをインクルードしていた。

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

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

 

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

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

  • ~/<my_working_directory>は個人の環境に応じて書き換える
    • 2. ビルドするバージョンをチェックアウトする

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

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

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