iOS Info.plist Keys Reference

Important iOS Info.plist keys with value type, required flag and usage description.

Searchable iOS Info.plist key reference covering bundle identity keys, UI configuration, and the permission usage-description (NSxUsageDescription) strings App Review requires before granting access to camera, location, photos and more.

What is an NSxUsageDescription key?

It is a privacy usage-description string explaining why your app needs a protected resource such as the camera or location. iOS shows this text in the permission prompt, and App Review rejects builds that access the resource without the corresponding key set.

iOS Info.plist keys

Info.plist is the property list that describes an iOS app to the system: its bundle identity, version, UI configuration, and — critically — the privacy usage-description strings the system shows when requesting access to protected resources. Missing or vague usage strings cause runtime crashes and App Review rejections. This searchable reference covers the keys that matter most.

How it works

Keys are entries in a plist, each with a type (String, Boolean, Array, Dict):

<key>CFBundleShortVersionString</key>
<string>2.1.0</string>
<key>CFBundleVersion</key>
<string>57</string>
<key>NSCameraUsageDescription</key>
<string>Gera scans receipts to file your warranty claim.</string>

Bundle keys establish identity and versioning; CFBundleVersion must increase every upload. Each NSxUsageDescription key pairs with a protected API — access the camera without NSCameraUsageDescription and iOS terminates the app on the spot.

Tips and notes

  • Write specific usage strings (“scan receipts”), not generic ones (“uses camera”).
  • Bump CFBundleVersion on every App Store Connect upload, even for the same release.
  • LSApplicationQueriesSchemes is needed before canOpenURL for third-party schemes.
  • In Expo, set these via app.json ios.infoPlist rather than editing the file.