Skip to main content
On this page

Property List Editor

Edit Info.plist, .entitlements, .xcprivacy and .strings files as a table. Supports nine value types, adding children, copying key paths and converting between XML and binary. .mobileprovision files open read-only.

Info.plist open in the Property List Editor

Supported files

FileHow to openNotes
.plist · .entitlements · .xcprivacyDouble-clickEditable. XML, binary and OpenStep formats.
.xcstrings · .strings / .stringsdict in .lproj foldersDouble-click. Opens in the KXBuild Localization EditorEdit all languages side by side, add languages, sync strings with source code
.strings elsewhereRight-click, choose Open With…, then KXBuild Strings EditorA table of localized strings. Only the rows you edit change.
.mobileprovisionDouble-clickRead-only. Shows the team, device list, entitlements and expiry date.

Edit

Each row shows a key, type and value. Click a cell to edit it. Dictionaries and arrays expand and collapse, and there's a filter box at the top. The context menu and the buttons at the end of each row offer these actions.

ActionWhat it does
Add RowAdds a sibling key below the current row
Add ChildAdds a child to a dictionary or array. A plain row is turned into a dictionary first.
Delete RowDeletes the row and its children
Copy Key PathCopies a path like NSAppTransportSecurity.NSAllowsArbitraryLoads
Expand All / Collapse AllExpands or collapses the whole tree

Nine types are supported: String, Number, Real, Boolean, Date, Data, UID, Array and Dictionary. Enter Data as hex or base64 and Date in ISO 8601 format. Ctrl+Z undoes and Ctrl+S saves. Saving keeps the file's existing line endings and indentation.

Save format

The XML / Binary badge in the editor's top-right corner shows the format the file will be saved in. Click it to change. Keep plists in your source tree as XML so they diff cleanly.

Convert in bulk

Select one or more plist files in the Explorer, right-click and choose KXBuild: Convert plist to XML or KXBuild: Convert plist to Binary. Files with unsaved changes are skipped and you're asked to save them first. Signed provisioning profiles can't be converted.

Changes on disk

If a build script or another tool changes the file while you have unsaved edits, you can choose "Reload from disk" or "Keep my changes". Without unsaved edits, the editor refreshes on its own.

Next steps