Tive esse problema logo após a atualização para o Xcode 10, mas esse não era o problema.
Tentei mudar o sistema de compilação, mas isso me deu um erro separado que significava a mesma coisa. Geralmente dizendo "Arquivo X não pode ser encontrado".
Existem várias coisas a verificar quando um arquivo não pode ser encontrado.
- Pasta de referências recuperadas A Apple faz essa coisa legal em que se detectar uma referência a um arquivo que não existe, ela adicionará essa referência a um grupo chamado "Referências recuperadas"
Isso é legal da Apple, mas nem sempre funciona.
Fases de construção Compilar fontes Nesta lista, pode haver metadados para um arquivo que o projeto deve compilar, mas o arquivo não existe de fato e está tentando encontrar o arquivo no caminho fornecido. Nesta lista, ele ficará esmaecido, exclua-os e adicione-os novamente alternando as dependências de destino do arquivo ou removendo-o manualmente e arrastando-o para dentro.
Caminho do arquivo Verifique novamente o caminho do arquivo que o erro está imprimindo e o caminho para o arquivo no Finder. Você pode ver isso facilmente clicando no arquivo no Xcode e marcando a guia "Mostrar o inspetor de arquivos" (a guia mais à esquerda). Se esses caminhos estiverem corretos, você está bem!
Arquivos apagados em seu projeto que não estão nas referências recuperadas ou em vermelho Este me irritou porque não é óbvio sobre o que aconteceu, mas basicamente se você entrar no Finder e mover um arquivo para um local diferente sem atualizar a referência no projeto ele gerará o erro, pois o arquivo não existe mais lá. A única indicação que encontrei para isso é que o arquivo na guia "Project Navigator" (guia mais à esquerda) está ligeiramente esmaecido, mas quando você vai excluir este arquivo, o Xcode não solicita que você exclua a referência ou envie para Lixo. Você pode corrigir isso excluindo o arquivo e adicionando-o novamente ao projeto ou indo até a guia "Inspetor de arquivos" e clicando no ícone da pasta ao lado do caminho e alterando-o para o local apropriado.
De qualquer forma, o erro indica que não é possível encontrar um arquivo, mudar para o sistema de compilação antigo é um bandaid para um problema mais concreto. Nós, como desenvolvedores, entendemos que um compilador deseja apenas que um artefato seja listado no final de um caminho de arquivo. Em algum lugar o caminho não está correto! Temos que descobrir onde fica!
Meu problema foi resolvido com o item 4 listado acima. Espero que isso ajude alguém.