23.7 · Schemes, test plans, simulators and derived data
Xcode is part of the debugging toolkit. Knowing what a scheme controls, what derived data is and when to throw it away, and how to drive the build from the command line saves hours of “it works for them”.
Mental model. A scheme is a recipe for one task (build, run, test, profile, archive) with its own settings. Know which recipe you are running, and what is cached beside it.
The Xcode machinery
Schemes, configurations, test plans, derived data and the command line.
- What does an Xcode scheme control, how do test plans and derived data fit in, and how do you use xcodebuild and simulators when something is wrong?
A scheme says what to build and what to do with it, and has an action per task: Build (which targets), Run (which build configuration, the launch arguments…
More in Debugging & Instruments
- 23.1 · LLDB and breakpoints
- 23.2 · The view debugger, network inspection and memory bugs
- 23.3 · Sanitizers, and bugs that only appear in Release
- 23.4 · Unified logging: Logger, levels, privacy and reading logs back
- 23.5 · Crash reports, symbolication and a production diagnostics pipeline
- 23.6 · Console, sysdiagnose and reproducing a bug
- 23.8 · Reading sanitizer output, exit codes and runtime traps
- 23.9 · Diagnosing a hang, malloc debugging and leaks from the command line
- 23.10 · Demangling, atos and empty dSYMs, and log formatting