macOS

Where Does XcodeGen Store Project Specs?

XcodeGen reads project.yml at each repo root to generate .xcodeproj, with includes and setting groups keeping large specs manageable.

Last updated

XcodeGen replaces checked in Xcode projects with a YAML spec generating them on demand. Targets, schemes, build settings, and file lists all declare in project.yml versioned with code. Generation runs locally and in CI identically.

That inversion keeps diffs readable where pbxproj files never were. Merges touch YAML instead of opaque project XML. New checkouts generate fresh projects from spec plus sources alone.

Where XcodeGen stores this, by platform

macOS
project.yml

Project spec versioned per repo generating xcodeproj on demand. Includes split large specs. Never edit generated output.

Frequently asked questions

How do I add XcodeGen to a repo?

Add project.yml at root with targets, schemes, and settings, then run xcodegen generate to produce the project. Regenerate after every spec change since Xcode edits vanish on next run. Never hand edit generated projects.

How do I organize large XcodeGen specs?

Split specs with include files per module or feature, referenced from the root project.yml. Setting groups share build configurations across targets. The generator merges everything deterministically.

Notice an outdated path? Let us know.