iOS のユーザデータにアクセスするための Info.plist への許可設定まとめ

iOS アプリを作る時に、カメラや連絡先など、ユーザデータにアクセスする際は、Info.plist にキーと使用目的を明記する必要がある。

このキーを忘れっぽいので、自分用にまとめる。

Key Key (Xcode Name) 対象操作
NSCameraUsageDescription Privacy - Camera Usage Description カメラへのアクセス
NSMicrophoneUsageDescription Privacy - Microphone Usage Description マイクへのアクセス
NSPhotoLibraryUsageDescription Privacy - Photo Library Usage Description フォトライブラリへのアクセス
NSPhotoLibraryAddUsageDescription Privacy - Photo Library Additions Usage Description フォトライブラリへの書き込み
NSAppleMusicUsageDescription Privacy - Media Library Usage Description メディアライブラリへのアクセス
NSLocationAlwaysUsageDescription Privacy - Location Always Usage Description 位置情報へのアクセス (常に許可)
NSLocationWhenInUseUsageDescription Privacy - Location When In Use Usage Description 位置情報へのアクセス (使用中のみ許可)
NSMotionUsageDescription Privacy - Motion Usage Description 加速度計へのアクセス
NSBluetoothPeripheralUsageDescription Privacy - Bluetooth Peripheral Usage Description Bluetooth インターフェースへのアクセス
NSCalendarsUsageDescription Privacy - Calendars Usage Description カレンダーへのアクセス
NSContactsUsageDescription Privacy - Contacts Usage Description 連絡先へのアクセス
NSHealthShareUsageDescription Privacy - Health Share Usage Description ヘルスデータへのアクセス
NSHealthUpdateUsageDescription Privacy - Health Update Usage Description ヘルスデータの変更
NSHomeKitUsageDescription Privacy - HomeKit Usage Description HomeKit の設定データへのアクセス
NSRemindersUsageDescription Privacy - Reminders Usage Description リマインダへのアクセス
NSSiriUsageDescription Privacy - Siri Usage Description Siri へのユーザデータ送信
NSSpeechRecognitionUsageDescription Privacy - Speech Recognition Usage Description Speech Recognition Server へのユーザデータ送信
NFCReaderUsageDescription Privacy - NFC Reader Usage Description NFC タグの利用
NSFaceIDUsageDescription Privacy - Face ID Usage Description FaceID 認証の利用
NSVideoSubscriberAccountUsageDescription Privacy - TV Provider Usage Description tvOS 用

Xcode 上でキーを追加する際は「Key」を入力しても「Key (Xcode Name)」の表示に自動的に切り替わる。

NSLocationAlwaysUsageDescription (常に許可) と NSLocationWhenInUseUsageDescription (使用中のみ許可) は iOS 8 からできたもの。それまでは NSLocationUsageDescription (Privacy - Location Usage Description) というキーでまとめて設定だった。

NSPhotoLibraryAddUsageDescription は iOS 11 から新たにできたモノで、フォトライブラリへの保存時に必要になった。