1

At first I thought a scheme was a list of values for each build type. By default, there are two schemes, Debug and Release. In the app target, you customize each scheme on the fly by choosing the values (in the default case for either Debug or Release).

However, now I think the schemes are bigger than that. Your project comes with one scheme by default, and included in that scheme is the ability to customize settings for different build types, including run, test profile, etc... So in ONE scheme you can have settings xyz for the run phase, and in ANOTHER shceme you can have settings abc for the run phase.

I'm a little confused here. Can anyone simplify this?

Thanks

KSR
  • 1,699
  • 15
  • 22
user7024499
  • 951
  • 1
  • 10
  • 24

1 Answers1

2

From Xcode's Help:

scheme

A scheme is a collection of settings that specify the targets to build for a project, the build configuration to use, and the executable environment to use when the product is launched. When you open an existing project (or create a new one), Xcode automatically creates a scheme for each target. The default scheme is named after your project.

Here, "build configuration" is what you're calling "Debug" and "Release" above.

user1118321
  • 25,567
  • 4
  • 55
  • 86
  • Oh Thanks!!! So I was getting scheme confused with configuration. So essentially, it's like this...right?... The default scheme, for instance, has multiple 'build types' such as run, test, etc... These 'build types' by default can only have ONE set configuration. Let's say your Run uses the Release configuration. Then, in build settings, anywhere the key is release, you set the value for it. Now, those settings values are going to be used during the Run 'build type', and any other 'build type' that is set to use the Release configuration. True or false? – user7024499 Nov 29 '16 at 04:18
  • 1
    Yes, that's correct. You can add other types of configurations, too. If you select the project from the "Project" section above the "Targets" in the project settings, you can click on the "Info" tab and add configurations. All of these configurations will show up in your build Settings for all of your targets. – user1118321 Nov 29 '16 at 04:27