Xcode 8 - Avisos de arquivos ausentes

127

Desde a atualização para o Xcode 8 usando o Swift 2.3, tenho vários avisos de arquivos ausentes. Eles estão todos relacionados aos pods que estou usando.

Os arquivos que estão faltando são

*.xcscheme 
*.cpp
*.xcuserstate
*.swift

Os pods que estão mostrando arquivos ausentes são

  • Região (~ 38 de 43)
  • TextFieldEffects (~ 3 de 43)
  • BEMCheckBox (2 de 43)

Como corrijo esse problema?

Alan
fonte
Você já tentou pod install?
Marc-Alexandre Bérubé
@ Marc-AlexandreBérubé sim, eu tentei instalar o pod algumas vezes. Excluiu a pasta do pod e fez outra instalação.
Alan Alan

Respostas:

298

Este é apenas um bug do Xcode. Se você excluir ou renomear um arquivo sem fazer uma confirmação, o Xcode verá a discrepância entre a gitconfirmação anterior e o estado atual das coisas e relata esses avisos. Eles desaparecem assim que você faz um git addque inclua a exclusão / renomeação do arquivo.

mate
fonte
25
Adicionando os arquivos para o índice ( git add) é suficiente, não há necessidade de realmente cometê-los (mais provável que o projeto não está pronto para se comprometer ...)
djromero
@djromero Obrigado por rastrear isso! Gostaria que eu adicionasse isso à minha resposta?
Matt
@ Matt certeza, não hesite em fazê-lo
djromero
um novo commit corrigiu o problema para mim.
MatterGoal
34
Para mim, foi tão fácil quanto rapidamente desabilitar e reativar o controle de origem nas preferências. Xcode> Pref> Controle de origem> desmarque "ativar controle de origem" .... e depois reative-o. E poof! foi!
BennyTheNerd
84

Se você não usar o controle da fonte xcode, mas algum outro cliente git (como árvore ou terminal de origem), poderá desativar o controle da fonte no Xcode e os avisos desaparecerão.

Xcode> Preferências> Controle de origem e desmarque " Ativar controle de origem "

milczi
fonte
Isso remove a comparação lado a lado da confirmação antiga do XCode? Estou supondo que sim ...
Byron Coetsee
15

Eu tentei todos esses (e muitos outros), mas nenhum deles funcionou. Depois de horas tentando várias correções, descobri que o procedimento a seguir funcionava.

cd "project directory"
git add .

Você precisará fechar o XCode e reabrir ou as confirmações futuras poderão falhar.

Espero que isso ajude alguém.

Parrett Apps
fonte
Impressionante. Meu projeto ficou um pouco confuso ao atualizar os pods e os avisos ficaram muito ... Isso foi corrigido. Obrigado!
Colibri
8

Eu resolvo o problema simplesmente com isso:

  1. Adicione o culpado ao projeto insira a descrição da imagem aqui

  2. Remova a referência insira a descrição da imagem aqui

Isso limpa o estado interno do XCode e a mensagem desaparece.

hassan karimi
fonte
Isso realmente funciona. A solução do @ matt funcionou uma vez em determinadas circunstâncias, mas eu tenho um arquivo desagradável que continua voltando para o XCode e essa é a única maneira de se livrar dele.
qwerty_so
7

Que tal commitem Source Control.

Em primeiro lugar, talvez seja necessário exibir o conteúdo do "your project name".xcodeprojpacote e o conteúdo do pacote project.xcworkspacee excluir a xcuserdatapasta.

Se você ainda não pode confirmar por causa de Não foi possível se comunicar com um problema do aplicativo auxiliar , no diretório do projeto, tente o seguinte:

xcrun git config user.name "Your Name"
xcrun git config user.email YourEmailAddress

* Lembre-se de reabrir o projeto para ver o efeito.

Tim
fonte
7

Você pode resolver o problema marcando a opção "Adicionar e remover arquivos automaticamente" em X-Code-> Preferences-> Source Control

Aqui está a captura de tela de Preferências

Rahul Joshi
fonte
7

O Xcode 8 parece frequentemente perder git addos arquivos excluídos / relacionados. Para corrigi-lo, toque Commit...no Source Controlmenu do Xcode , verifique esses arquivos (que são seguidos por um ponto de exclamação!) E confirme as alterações. Isso deve limpar os avisos.

CodeBrew
fonte
5

Já tive esse problema algumas vezes e finalmente o tive depois de fazer soluções feias! Sentei-me e rastreei até encontrar o motivo e as referências serem armazenadas!

Como alguém já propôs, isso tem a ver com controle de versão, bem, sim e não, em alguns casos, definitivamente tem a ver com bisbilhotar arquivos diretamente usando o localizador ou o que for (mas não do XCode)

Aqui está uma solução rápida que economiza muitos problemas e palavrões!

Exclua este arquivo: ./.xcworkspace/xcuserdata/.xcuserdatad/UserInterfaceState.xcuserstate

E os erros desaparecem!

Patrik Forsberg
fonte
Isso funcionou no começo, mas os arquivos ausentes reapareceram logo depois.
Hackmodford
4

Eu tive o mesmo problema. No meu caso, havia um diretório .git no diretório pai do meu projeto. Ao excluir o diretório .git pai, os erros desaparecem.

freytag
fonte
3

No meu caso, os Pods foram verificados no repositório, gerando algumas centenas de avisos para "arquivos ausentes". Corrigido removendo os Pods do repositório:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch Pods/*' --tag-name-filter cat -- --all
Paweł
fonte
2

Resolvi esse problema seguindo as etapas:

  1. Limpar dados derivados

  2. Descarte os arquivos ausentes ao confirmar e, em seguida, confirme.

  3. Construção Limpa

  4. Resolvido..

Feliz codificação .. :)

Dimple Shah
fonte
1

Eu enfrentei o mesmo problema depois de adicionar a célula CollectionView personalizada (CustomCollectionViewCell) no projeto. O mesmo erro ocorreu acima. Não há necessidade de excluir o arquivo.

Renomeie o arquivo ausente para mim como "xCustomCollectionViewCell.xib".

Agora o erro se foi.

Renomeie o mesmo arquivo com o nome original "CustomCollectionViewCell.xib"

Shrawan
fonte
1

Isso corrigiu para mim:

git reset HEAD <path-to-deleted-file-that-was-causing-the-Xcode-warning>
Francis
fonte
0

Eu tive esse problema no Xcode 9.3

A solução que funcionou para mim: adicione um espaço no arquivo, salve e aguarde o !status mudar paraM e exclua o espaço, salve.

Infelizmente, com quase 100 arquivos disponíveis, revisitei este post e o comentário de @BennyTheNerd para obter uma resposta ajudou!

Para mim, foi tão fácil quanto rapidamente desabilitar e reativar o controle de origem sob preferências. Xcode> Pref> Source Control> desmarque a opção "ativar o controle de origem" .... e depois a reative. E poof! foi! # BennyTheNerd Jan 16 '17 às 7:29

Além disso, eu tinha bastante Xcode e, em seguida, abri o mesmo projeto e, em seguida, reative o controle de origem por meio de preferências.

Espero que isto ajude!

Nitin Alabur
fonte