Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

iOS runner build ignores `-derivedDataPath` when Xcode uses a custom build location

Fechada Para iniciantes
#3,296 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
76/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
ios, typescript
Domínio
build-system, mobile

Direção de pesquisa

Comece por packages/platform-apple/src/runner/runner-cache-metadata.ts e inspecione RUNNER_SANDBOX_BUILD_ARGS. Em seguida, rastreie como esses argumentos chegam à compilação do runner. Reproduza o problema com as configurações fornecidas do Xcode para o local de compilação personalizado e agent-device prepare ios-runner --platform ios; o trabalho estará concluído quando a compilação do runner encontrar seu .xctestrun no caminho esperado dos dados derivados.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Version: agent-device 0.21.19, Xcode 27 beta, macOS

What happens

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.

How to reproduce

defaults write com.apple.dt.Xcode IDEBuildLocationStyle Custom
defaults write com.apple.dt.Xcode IDECustomBuildLocationType RelativeToWorkspace
defaults write com.apple.dt.Xcode IDECustomBuildProductsPath Build/Products
agent-device prepare ios-runner --platform ios

Cause

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.

Linguagem predominante
TypeScript
Estrelas
4.9k
Forks
328
Merge médio
12h 16min
PRs com merge (30d)
538

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de callstack/agent-device

Todas as issues de callstack/agent-device

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.