Xcode Build Settings Checker

Find the settings slowing down your builds.

Paste your build settings. They're checked in your browser and never uploaded.

1. Export your settings

Run this in your project folder, then copy the output. Use -workspace instead of -project if you have one.

xcodebuild -showBuildSettings -project MyApp.xcodeproj -scheme MyApp -configuration Debug | pbcopy

2. Paste them here

The output of xcodebuild -showBuildSettings, or the contents of an .xcconfig file.

What makes Debug builds slow?

Whole module compilation

In Release, compiling a Swift module as a whole lets the optimiser see everything. In Debug it means a one-line change recompiles the entire module. Debug should use Incremental (singlefile).

Building every architecture

With ONLY_ACTIVE_ARCH = NO, a Debug build compiles for both Apple silicon and Intel (or every simulator architecture), roughly doubling the work for builds you only run on one machine.

dSYMs on every build

dwarf-with-dsym runs dsymutil after linking. You need dSYMs to symbolicate crash reports from Release builds, not for builds you run from Xcode.

Slow type checking

One complicated expression can take seconds to type-check. Adding -Xfrontend -warn-long-function-bodies=200 and -Xfrontend -warn-long-expression-type-checking=200 to Other Swift Flags in Debug makes Xcode warn you about any function or expression that takes longer than 200 ms.

Buildshed
See where your build time actually goes Buildshed watches every Xcode build and ranks the slowest files, type-check-heavy functions and headers, and shows why each file rebuilt. Coming soon for Mac.