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?


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.


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 "


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.


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.


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.


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


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.


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!


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.


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

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 .. :)


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"


1

Isso corrigiu para mim:

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

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!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.