A scheme says what Xcode builds and how it runs, tests, profiles, analyses and archives
it. Each is one .xcscheme XML file. Shared schemes are in
xcshareddata/xcschemes inside a project or workspace; a person’s own are in
xcuserdata.
The root and its actions
The root element is Scheme, with LastUpgradeVersion and
version attributes. It holds one element per action:
| Element | Action |
|---|---|
BuildAction | What gets built, as BuildActionEntries holding BuildActionEntry elements. |
TestAction | What the tests run, with a buildConfiguration. |
LaunchAction | What Run starts, with a buildConfiguration. |
ProfileAction | What Instruments profiles. |
AnalyzeAction | The static analyser’s build configuration. |
ArchiveAction | What an archive holds. |
What a scheme names
Targets are named by BuildableReference elements, with these attributes:
| Attribute | Meaning |
|---|---|
BlueprintIdentifier | The target’s ID in its project.pbxproj. |
BlueprintName | The target’s name. |
BuildableName | The product’s file name. |
ReferencedContainer | The project, as container:App.xcodeproj. |