Convert a Basic Info.plist to JSON
Convert a standard iOS or macOS Info.plist file to JSON format. Covers CFBundle keys, version strings, and device capabilities.
Detailed Explanation
Info.plist: The App Identity File
Every iOS and macOS application includes an Info.plist file that declares essential metadata: the app name, bundle identifier, version numbers, supported orientations, and required device capabilities. Converting this to JSON is useful for tooling, CI/CD pipelines, and cross-platform configuration management.
Typical Info.plist Structure
<dict>
<key>CFBundleName</key>
<string>MyApp</string>
<key>CFBundleIdentifier</key>
<string>com.example.myapp</string>
<key>CFBundleVersion</key>
<string>42</string>
<key>CFBundleShortVersionString</key>
<string>1.2.3</string>
<key>LSRequiresIPhoneOS</key>
<true/>
</dict>
Key Mappings
| Plist Key | Purpose | JSON Type |
|---|---|---|
CFBundleName |
Display name | string |
CFBundleIdentifier |
Reverse-DNS identifier | string |
CFBundleVersion |
Build number | string |
CFBundleShortVersionString |
Marketing version | string |
LSRequiresIPhoneOS |
iOS-only flag | boolean |
Version Numbers as Strings
Note that CFBundleVersion and CFBundleShortVersionString are always <string> in plist, even when they look numeric. The converter preserves this: "42" remains a JSON string, not a number. This is important because version strings like "1.2.3" are not valid numbers.
Array Values
Info.plist commonly contains arrays for UIRequiredDeviceCapabilities, UISupportedInterfaceOrientations, and UIBackgroundModes. These convert cleanly to JSON arrays of strings.
Use Case
Ideal for CI/CD scripts that need to read or modify app metadata programmatically using JSON tools like jq, or for build systems that generate Info.plist from a JSON template.