Project Settings Editor
No need to open project.pbxproj. Change identity, deployment, signing and version on the General page, and view and edit Build Settings by Basic, Customized, All and by level, with resolved values shown live.
Open the editor
| From | Action | Opens to |
|---|---|---|
| Command Palette | KXBuild: Project Settings… | Build Settings |
| Explorer | Right-click a .xcodeproj or .xcworkspace and choose KXBuild: Project Settings…, or double-click project.pbxproj | Build Settings |
| KXBuild view | Right-click a project row and choose KXBuild: Edit Project Settings, or a target row and choose KXBuild: Edit Target Settings | Build Settings for a project, General for a target |
| Back from text mode | KXBuild: Open with Project Settings Editor in the pbxproj editor's title bar | — |
From a .xcworkspace, you first pick one of its .xcodeproj files. In the left column, PROJECT holds the project-level settings and TARGETS lists one entry per target.
General page
Each field maps to a build setting. Changing a field here changes that row in Build Settings.
| Section | Field | Build setting |
|---|---|---|
| Identity | Bundle Display Name | INFOPLIST_KEY_CFBundleDisplayName |
| Bundle Identifier | PRODUCT_BUNDLE_IDENTIFIER | |
| Product Name | PRODUCT_NAME | |
| Marketing Version | MARKETING_VERSION | |
| Current Project Version | CURRENT_PROJECT_VERSION | |
| Deployment Info | iOS Deployment Target | IPHONEOS_DEPLOYMENT_TARGET |
| Targeted Device Families | TARGETED_DEVICE_FAMILY | |
| Supported Platforms | SUPPORTED_PLATFORMS | |
| Supported Interface Orientations (iPhone / iPad) | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone / …_iPad | |
| Launch Screen Storyboard / Main Storyboard | INFOPLIST_KEY_UILaunchStoryboardName / INFOPLIST_KEY_UIMainStoryboardFile | |
| Signing | Code Signing Style, Automatic or Manual | CODE_SIGN_STYLE |
| Development Team | DEVELOPMENT_TEAM | |
| Code Signing Identity | CODE_SIGN_IDENTITY | |
| Provisioning Profile | PROVISIONING_PROFILE_SPECIFIER | |
| Code Signing Entitlements | CODE_SIGN_ENTITLEMENTS | |
| Build | Swift Language Version | SWIFT_VERSION |
| Info.plist File | INFOPLIST_FILE | |
| Generate Info.plist File | GENERATE_INFOPLIST_FILE | |
| App Icon Set Name | ASSETCATALOG_COMPILER_APPICON_NAME |
For how signing settings work with the keychain folder, see Certificates and signing. For bumping the version before submission, see Release and App Store submission.
Build Settings page
| Control | What it does |
|---|---|
| Basic / Customized / All | Show common settings, only the settings changed at this level, or everything. Basic is the default. |
| Combined / Levels | Combined shows resolved values. Levels splits them into five columns, Target, Target xcconfig, Project, Project xcconfig and Default, so you can see which level wins. |
| Search box | Filters by setting name or display title |
| Show setting names next to titles | Shows IPHONEOS_DEPLOYMENT_TARGET next to titles like "iOS Deployment Target" |
| Show one row per configuration (set Debug and Release separately) | Settings whose Debug and Release values differ get two rows. Identical ones stay on one row. |
| <Multiple values> / (inherited) | The first means the configurations have different values. The second means this level doesn't define the setting and inherits it from below. |
| Quick Help | The panel at the bottom shows the selected setting's type, allowed values, default and description |
Right-click a value cell for Add User-Defined Setting, Delete Setting (removes this level's definition so the value is inherited again), Copy Setting Name and Copy Value. List values take one item per line. Use $(inherited) to keep the values from lower levels.
Save
As you edit, the Combined column and the General page show the resolved values right away. Ctrl+Z undoes. Ctrl+S writes project.pbxproj, touching only the lines that changed. If another tool changes the file while you have unsaved edits, you can reload from disk or keep your changes.
Limitations
The editor only changes build settings and the Info.plist keys they map to. Edit a target's file list, build phases and dependencies in text mode. There's no visual editor for storyboards and xibs, so the General page only takes their file names. If the toolchain and extension versions don't match, the editor is read-only and asks you to update. Update and reopen it.
Next steps
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.
kxbuild command reference
Every kxbuild subcommand and option, including doctor, build, resolve, project, update and version.