title: What do the XML Elements in an .xcscheme file do
body: <p>I'm creating a rake exe for adding coverage to an xcode project. I'm using the the Gem xcodeproj. I need to create some schemes for versioning and to run the coverage scripts.</p>
  
  <p>I've been building my own schemes and i'm making slow progress. I feel like I would be able to debug faster if I understood what these elements mean. </p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
     &lt;Scheme
      LastUpgradeVersion = "0500"
    version = "1.3"&gt;
    &lt;BuildAction
      parallelizeBuildables = "YES"
    buildImplicitDependencies = "YES"&gt;
       &lt;BuildActionEntries&gt;
       &lt;BuildActionEntry
          buildForTesting = "YES"
          buildForRunning = "YES"
          buildForProfiling = "YES"
          buildForArchiving = "YES"
          buildForAnalyzing = "YES"&gt;
          &lt;BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "7B80F18918187FA5005578A0"
             BuildableName = "TestProj.app"
             BlueprintName = "TestProj"
             ReferencedContainer = "container:TestProj.xcodeproj"&gt;
          &lt;/BuildableReference&gt;
       &lt;/BuildActionEntry&gt;
    &lt;/BuildActionEntries&gt;
    &lt;/BuildAction&gt;
     &lt;TestAction
    selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
    selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
    shouldUseLaunchSchemeArgsEnv = "YES"
    buildConfiguration = "Coverage"&gt;
    &lt;Testables&gt;
       &lt;TestableReference
          skipped = "NO"&gt;
          &lt;BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "7B80F1A418187FA5005578A0"
             BuildableName = "TestProjTests.xctest"
             BlueprintName = "TestProjTests"
             ReferencedContainer = "container:TestProj.xcodeproj"&gt;
          &lt;/BuildableReference&gt;
       &lt;/TestableReference&gt;
        &lt;/Testables&gt;
      &lt;PostActions&gt;
       &lt;ExecutionAction
          ActionType =      "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction"&gt;
          &lt;ActionContent
             title = "Run Script"
             scriptText = "/bin/sh ${SRCROOT}/bin/coverage.sh"&gt;
             &lt;EnvironmentBuildable&gt;
                &lt;BuildableReference
                   BuildableIdentifier = "primary"
                   BlueprintIdentifier = "7B80F18918187FA5005578A0"
                   BuildableName = "TestProj.app"
                   BlueprintName = "TestProj"
                   ReferencedContainer = "container:TestProj.xcodeproj"&gt;
                &lt;/BuildableReference&gt;
             &lt;/EnvironmentBuildable&gt;
          &lt;/ActionContent&gt;
       &lt;/ExecutionAction&gt;
    &lt;/PostActions&gt;
     &lt;/TestAction&gt;
       &lt;LaunchAction
    selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
    selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
    launchStyle = "0"
    useCustomWorkingDirectory = "NO"
    buildConfiguration = "Debug"
    ignoresPersistentStateOnLaunch = "NO"
    debugDocumentVersioning = "YES"
    allowLocationSimulation = "YES"&gt;
    &lt;AdditionalOptions&gt;
    &lt;/AdditionalOptions&gt;
    &lt;/LaunchAction&gt;
      &lt;ProfileAction
    shouldUseLaunchSchemeArgsEnv = "YES"
    savedToolIdentifier = ""
    useCustomWorkingDirectory = "NO"
    buildConfiguration = "Release"
    debugDocumentVersioning = "YES"&gt;
    &lt;/ProfileAction&gt;
   &lt;AnalyzeAction
      buildConfiguration = "Debug"&gt;
     &lt;/AnalyzeAction&gt;
    &lt;ArchiveAction
    buildConfiguration = "Release"
    revealArchiveInOrganizer = "YES"&gt;
      &lt;/ArchiveAction&gt;
      &lt;/Scheme&gt;
  </code></pre>