The build system is the part of the Xcode that is responsible for transforming the components of a project into one or more finished products. The build system takes a number of inputs and performs operations such as compiling, linking, copying files and so forth to produce an output—usually an application or other type software.

Xcode includes a powerful build system that can create a wide variety of Mac OS X and iOS products, such as frameworks, libraries, applications, command-line tools and more. Using Xcode’s predefined project and target templates you can build these products right out of the box. However, the Xcode build system is also flexible enough to allow you to customize the build process—to tailor it to meet the special needs of your projects or support your preferred workflow.

You should read this document if you need to have a deep understanding of the Xcode build system to customize the building of your product or to use advanced features of the build system to speed up the build process.

The following chapters show how to build a product in Xcode, describe targets and the build system inputs that they organize, and show how to take advantage of build phases, build settings, and build configurations to customize the build process. These chapters also describe a number of Xcode features that you can take advantage of to shorten the edit-build-debug cycle. These features include distributed builds, precompiled prefix headers, and predictive compilation.

Organization of This Document

This document contains the following chapters:

This document also has a revision history.