본문으로 바로가기

Generated Xcode project

Use this path when you want Tuist to define and generate your Xcode project. Swift manifests describe projects, targets, dependencies, and schemes, which lets Tuist validate and optimize the complete project graph.

If you want to keep an existing Xcode project or workspace unchanged, use the existing Xcode project path instead.

Adoption steps#

  1. Choose the starting point that matches your project:
    • If you are starting a new project, follow the generated project tutorial to install Tuist, initialize the project, add a dependency, generate the Xcode project, and run the application. You can connect the project to a Tuist account during tuist init so shared capabilities can use the project's full handle.
    • If you are replacing an existing checked-in Xcode project, start with the Xcode project migration guide. It creates the Tuist manifests alongside your current project so you can migrate incrementally without creating a sample project.
  2. Learn how the manifest files and dependencies model your project.
  3. Choose the first optimization to add:

Generated schemes include build and test insights automatically. If you define custom schemes, follow the generated project build insights guide and the generated project test insights instructions.

Verify your setup#

Run tuist generate, build the generated project in Xcode, and launch the application. This confirms that the manifests and dependencies produce a working project.

Then verify the first optimization you selected:

  • Module cache: Run tuist cache, followed by tuist generate. Confirm that generation reuses cached binaries for eligible dependencies.
  • Xcode compilation cache: Build the same revision in another clean environment and confirm that the later build reports cache hits.
  • Selective testing: Run tuist test successfully, run it again without changing test inputs, and confirm that Tuist skips unaffected test targets.

After the first successful run, move the same commands into continuous integration and configure continuous integration authentication.