The development environment.
WHAT IT IS
Apple's integrated development environment, and the only supported way to build and submit applications.
WHAT IT INCLUDES
A code editor Interface design tools A build system A debugger Simulators Performance instruments Device management Submission tooling
WHAT A PROJECT CONTAINS
Source files Resources Targets, defining build products Build configurations Schemes, defining what to build and how to run it
WHAT A WORKSPACE IS
A container holding several projects, sharing a build directory.
WHEN YOU NEED ONE
When using dependency managers that add their own project.
WHAT BUILD CONFIGURATIONS ARE
Named sets of settings: typically debug and release.
WHAT DIFFERS BETWEEN THEM
Optimisation Debugging information Preprocessor flags Signing
WHY THAT MATTERS
Behaviour differs, and problems appearing only in release are common.
WHAT TO TEST
The release configuration, before every submission.
WHAT TO LEARN EARLY
Schemes, build settings, and where signing is configured.