iOS10からiPhone/iPadの各種機能を使う際に、何の目的でその機能を使用するかをinfo.plistに設定しなければならないことになりました。設定しないで実行するとその機能を使用する操作をした時にデバッグモードであれば「何々をinfo.plistに設定してください」とのエラーを吐いてクラッシュします。
実際ユーザーが使う際はそこに設定した説明文とともにアラートがでてその機能の使用をアプリに許可するかどうか選択することになります。
プライバシー面の強化ということなのでしょうが、ちょっとしたことでも設定が必要になってしまったので一覧としてまとめておきます。
一覧
- Bluetooth Periferal ... Bluetooth機能(AirDropだけでも認定されるようです)
- Calendars ... カレンダー情報を取得する際(日付を操作するだけで認定されるようです)
- Camera ... カメラを使用する際
- Contacts ... 連絡先情報を使用する際
- Health Share ... (おそらく)アプリで取った運動情報をHealthCareに共有する際
- Health ... HealthCareから情報を取得する際
- HomeKit ... HomeKitを使用する際
- Location Always ... バックグラウンドでも位置情報を取り続ける際
- Location ... 位置情報を使う際
- Location When in ... (おそらく)その場所に来た時刻情報などを取得する際
- Media Library ... (おそらく)音楽ライブラリにアクセスする際
- Microphone ... マイクを使う際
- Motion ... 加速度センサーを使う際
- Music ... (おそらく)音楽をアプリ内で流す際
- Photo Library ... フォトライブラリにアクセスする際
- Reminders ... リマインダーの情報にアクセスする際
- Siri ... Siriを使う際
- Speech Recognition ... 音声認識を使う際
- TV Provider ... AppleTV関連?
- Video Subscriber Account ... この前の発表にあった購入したビデオをAppleTVやAppleTVアプリ間で共有できるというアカウントのことを指しているのかも
使い方
info.plistでPrivacyと検索するとこの項目の一覧が出てくるのでアプリで使用しているものを選択し、Valueに説明を追記する。
最後に
こちらで名前からの推測が難しく、また確認出来ていないものに関してはおそらくというふうに付けさせていただきました。該当する機能を使っているアプリ開発者の方は注意してください。