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
CFBundleVersionon every App Store Connect upload, even for the same release. LSApplicationQueriesSchemesis needed beforecanOpenURLfor third-party schemes.- In Expo, set these via
app.jsonios.infoPlistrather than editing the file.