You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
iOS runner build ignores -derivedDataPath when Xcode uses a custom build location #3296
When Xcode's global preference sets a custom build location, prepare ios-runner (and the first open on iOS) fails:
Failed to locate .xctestrun after build
Xcode writes the runner products relative to the runner project (dist/apple/runner/AgentDeviceRunner/Build/...) instead of the derived data path that agent-device passes. Parallel attempts can also fail with database is locked.
IDEBuildLocationStyle=Custom takes precedence over -derivedDataPath for build products. Teams use this setting so that Xcode and command-line tools share one products folder.
Suggested fix
Add -IDEBuildLocationStyle=Unique to the runner build arguments, for example in RUNNER_SANDBOX_BUILD_ARGS (packages/platform-apple/src/runner/runner-cache-metadata.ts). With this argument the runner builds into the agent-device derived data path again. We verified the change locally by patching dist/src/runner-cache-metadata.js: prepare ios-runner then succeeds.
An alternative is an environment variable for extra xcodebuild arguments.
Fixed by #3158 (first released in v0.21.21): the runner build pins SYMROOT/OBJROOT under the derived-data path, so a custom Xcode build location no longer redirects it. Covered by runner-artifact-build-location.test.ts. You reported this on 0.21.19, so please upgrade; reopen if it still happens. The parallel "database is locked" side note isn't covered here; file it separately if it recurs.
Activity
thymikee commentedon Oct 8, 2026
Fixed by #3158 (first released in v0.21.21): the runner build pins SYMROOT/OBJROOT under the derived-data path, so a custom Xcode build location no longer redirects it. Covered by
runner-artifact-build-location.test.ts. You reported this on 0.21.19, so please upgrade; reopen if it still happens. The parallel "database is locked" side note isn't covered here; file it separately if it recurs.