The importance of info.plist in iOS 10
Since iOS 9 Info.plist has become a very important file especially during the app submission process. I think almost every developer has had a rejection notice by now due to a missing element in the info.plist directive. When iOS 10 was released Info.plist has become the most important file. I’ve had builds simply disappear from the iTunes.connect dashboard simply because I was lacking a key-string that was required to be part of Info.plist.
The most common key-strings that I have missed are:
<string>This app requires access to the photo library.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app does not require access to the microphone.</string>
<key>NSCameraUsageDescription</key>
<string>This app requires access to the camera.</string>
Here is a full list:
Apple Music:
<key>NSAppleMusicUsageDescription</key>
<string>My description about why I need this capability</string>
Bluetooth:<key>NSBluetoothPeripheralUsageDescription</key>
<string>My description about why I need this capability</string>
Calendar:<key>NSCalendarsUsageDescription</key>
<string>My description about why I need this capability</string>
Camera:<key>NSCameraUsageDescription</key>
<string>My description about why I need this capability</string>
Contacts:<key>NSContactsUsageDescription</key>
<string>My description about why I need this capability</string>
Health Share:<key>NSHealthShareUsageDescription</key>
<string>My description about why I need this capability</string>
Health Update:<key>NSHealthUpdateUsageDescription</key>
<string>My description about why I need this capability</string>
Home Kit:<key>NSHomeKitUsageDescription</key>
<string>My description about why I need this capability</string>
Location:<key>NSLocationUsageDescription</key>
<string>My description about why I need this capability</string>
Location (Always):<key>NSLocationAlwaysUsageDescription</key>
<string>My description about why I need this capability</string>
Location (When in use):<key>NSLocationWhenInUseUsageDescription</key>
<string>My description about why I need this capability</string>
Microphone:<key>NSMicrophoneUsageDescription</key>
<string>My description about why I need this capability</string>
Motion (Accelerometer):<key>NSMotionUsageDescription</key>
<string>My description about why I need this capability</string>
Photo Library:<key>NSPhotoLibraryUsageDescription</key>
<string>My description about why I need this capability</string>
Reminders:<key>NSRemindersUsageDescription</key>
<string>My description about why I need this capability</string>
Siri:<key>NSSiriUsageDescription</key>
<string>My description about why I need this capability</string>
Speech Recognition:<key>NSSpeechRecognitionUsageDescription</key>
<string>My description about why I need this capability</string>
The complete list can be found on Apple’s developer website.
Leave a Reply
Want to join the discussion?Feel free to contribute!