Target |
Specifies how a specific product, which may be an application or framework, should be built. Includes build settings (e.g., compiler/linker flags) as well as the resources that should be included in a particular build. |
Project |
A container for the code and resources for a target. Multiple targets may be dependent on a single project, and may select the resources to include in its build. Projects may be a subproject of another project. |
Workspace |
Workspaces allow management of multiple projects. When a project's target is a dependency for multiple projects, then including everything in a workspace allows the dependent projects to be updated when the project they depend on is modified. Another approach would be to open each dependent project in a separate Xcode window, but a workspace allows all projects and their dependencies to be viewed and modified in the same window. |