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 から新たにできたモノで、フォトライブラリへの保存時に必要になった。