BuildSettingExtractor is a free, open-source Mac utility that reads an Xcode project or workspace and exports its build settings into standalone .xcconfig files — making sprawling per-target configurations auditable, version-controllable, and shareable without touching Xcode's GUI.
What is BuildSettingExtractor?
BuildSettingExtractor is a macOS app that pulls every build setting out of an .xcodeproj or .xcworkspace file and writes them into properly structured .xcconfig files you can commit to git. Instead of hunting through Xcode's Build Settings tab to understand what a target actually does — and why it differs from the project default — you get a clean, diffable text snapshot in seconds.
I stumbled onto it while trying to untangle a legacy project whose build settings had been tweaked inline for years across a dozen targets. One drag-and-drop onto the app window later and I had a full picture I could grep, compare, and hand off to a teammate without sending them a 40-minute Xcode tour.
What does BuildSettingExtractor do best?
Its superpower is turning Xcode's opaque binary project format into readable, diff-friendly plain text. Each target and configuration (Debug, Release, and any custom scheme) gets its own .xcconfig file, with inherited values separated from overrides so you instantly see what each layer actually changes.
- Project + target + configuration hierarchy — outputs a file per layer, mirroring how Xcode resolves settings at build time.
- No Xcode running required — the app reads the project file directly; you do not need a simulator warmed up or a scheme selected.
- Drag-and-drop workflow — drop a .xcodeproj onto the window, choose an output folder, done. No CLI flags to memorise.
- Open source on GitHub — the extraction logic is auditable, and issues or edge-case project formats can be filed or patched.
Where it shines most is during onboarding reviews and before migrating a project to a proper .xcconfig-driven setup. I now run it as the first step whenever I inherit a codebase, before I ever open the Build Settings tab in Xcode itself.
Is BuildSettingExtractor free?
Yes — BuildSettingExtractor is completely free to download and use. It is distributed as an open-source project on GitHub under a permissive licence, with no paid tier, no in-app purchase, and no account required. You download the release build directly from the GitHub Releases page, or build it yourself from source if you prefer.
Who should use BuildSettingExtractor?
Any iOS or macOS developer who works on Xcode projects larger than a weekend side-project will benefit. It is particularly valuable for:
- Teams adopting .xcconfig files — use the export as the starting point rather than recreating settings by hand.
- Code reviewers and tech-leads — review build-setting changes in a pull request like any other source file instead of opening Xcode.
- Security auditors — quickly scan for ATS exceptions, entitlements, or mismatched signing settings across every target at once.
- Developers inheriting legacy projects — understand a messy, undocumented Xcode project in minutes, not hours.
If you are a solo developer on a greenfield Swift package managed entirely through Swift Package Manager, you likely have less use for it — SPM does not use .xcconfig files in the same way. But the moment a project has multiple targets, multiple build configurations, or any history of GUI-based tweaking, this tool earns its keep.
What are the best BuildSettingExtractor alternatives?
The closest alternatives live on the command line rather than in a GUI. xcodebuild -showBuildSettings can dump resolved settings for a single scheme, but the output is a flat key-value dump with no hierarchy and no .xcconfig structure. XcodeGen and Tuist take the inverse approach — you define settings in YAML or Swift DSL and generate the .xcodeproj — which is the long-term architectural win, but requires a full project migration. BuildSettingExtractor occupies a useful middle ground: it is read-only, zero-commitment, and works on any project today without restructuring anything.
For teams already committed to XcodeGen or Tuist, BuildSettingExtractor makes a great one-time migration helper: export once, clean up the output, feed it into your generator's config, then retire the app.
How actively maintained is BuildSettingExtractor?
The project is actively maintained on GitHub by its original author and accepts community contributions. It keeps pace with Xcode project format changes, which is the main compatibility concern for a tool like this. The GitHub Issues tab is the right place to report any project variant that does not extract cleanly — in my experience, turnaround on bug reports is reasonable for a solo open-source tool.