cd /news/developer-tools/build-system-priority-for-apple-plat… · home topics developer-tools article
[ARTICLE · art-64550] src=gist.github.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Build system priority for Apple platform projects

A developer outlines a priority system for building Apple platform projects, recommending Xcode MCP Tools when Xcode is open, xcodebuild for CLI builds, and swift build/swift test only as a last resort for pure-Swift packages without resources. The post warns that swift build cannot compile bundled resources like .xcstrings or .xcassets, causing silent test failures.

read1 min views1 publishedJul 18, 2026

For any Xcode project or Swift Package Manager package, use this order — pick the first option that fits the situation, do not skip down the list. #

Xcode MCP Tools— use these when Xcode has the project open. They reuse the running Xcode's build state (no duplicate DerivedData / build caches piling up), and open the door to workflows the CLI cannot reach — running screenshot / snapshot tests through the running IDE, driving simulators the user is already using, etc. - — for CLI builds and tests. Compiles bundled resources correctly:xcodebuild

.xcstrings

string catalogs become per-locale.strings

inside the bundle,.xcassets

are compiled, etc. Use this when Xcode is not open or when a headless build is needed. - — last resort. Only safe for pure-Swift packages with no resources.swift build

/swift test

They cannot resolve bundled resources. A.xcstrings

file is copied intoBundle.module

but never compiled into per-locale.strings

, so at runtimeString(localized:bundle:) returns the raw key and every test that asserts on translated text fails..xcassets

has the equivalent problem for image lookups. If a Package declaresresources: [.process("Resources")]

with anything more than plain data files,swift test

will silently fail resource-dependent tests — reach forxcodebuild

instead.

── more in #developer-tools 4 stories · sorted by recency
── more on @apple 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/build-system-priorit…] indexed:0 read:1min 2026-07-18 ·