iOS 10になってからアプリのPermissionに関するチェックがまたまた追加されたようで、自分の場合はcordova-plugin-cameraのplistに必要なエントリがない、という理由でアプリ更新を蹴られてしまいました。あ、Ionicフレームワークを使ったハイブリッド開発です
以下、そのエラーを通知してきたメール。
Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
なぜこのアプリがフォトアルバムにアクセスするのかをNSPhotoLibraryUsageDescriptionに記入せい、ということですね。./plugins//plugin.xmlを見てみると
<preference name="CAMERA_USAGE_DESCRIPTION" default=" " />
<config-file target="*-Info.plist" parent="NSCameraUsageDescription">
<string>$CAMERA_USAGE_DESCRIPTION</string>
</config-file>
<preference name="PHOTOLIBRARY_USAGE_DESCRIPTION" default=" " />
<config-file target="*-Info.plist" parent="NSPhotoLibraryUsageDescription">
<string>$PHOTOLIBRARY_USAGE_DESCRIPTION</string>
</config-file>
という記述があり、CAMERA_USAGE_DESCRIPTIONとPHOTOLIBRARY_USAGE_DESCRIPTIONに利用目的を入れてやればよい、ということがわかります。これらの変数はconfig.xmlから渡すのかな?と思って調べたらcordova plugin add
コマンドからイケることを確認しました。具体的には
$ cordova plugin add cordova-plugin-camera --variable CAMERA_USAGE_DESCRIPTION="this app will use your camera" --variable PHOTOLIBRARY_USAGE_DESCRIPTION="this app will access to your photo library"
のようになります。こちらを参考にしました。
Happy Coding!