Xcode 8 - Avvisi sui file mancanti


127

Da quando eseguo l'aggiornamento a Xcode 8 usando Swift 2.3 ho diversi avvisi di file mancanti. Sono tutti legati ai pod che sto usando.

I file mancanti sono

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

I pod che mostrano i file mancanti sono

  • Reame (~ 38 di 43)
  • TextFieldEffects (~ 3 di 43)
  • BEMCheckBox (2 di 43)

Come posso risolvere questo problema?


Ci hai provato pod install?
Marc-Alexandre Bérubé,

@ Marc-AlexandreBérubé sì, ho provato a installare pod alcune volte. Eliminata la cartella pod e fatto un'altra installazione.
Alan,

Risposte:


298

Questo è solo un bug Xcode. Se si elimina o rinomina un file senza eseguire un commit, Xcode rileva la discrepanza tra il gitcommit precedente e lo stato attuale delle cose e segnala questi avvisi. Se ne vanno non appena si esegue un'operazione git addche include la cancellazione / rinomina del file.


25
L'aggiunta dei file all'indice ( git add) è sufficiente, non è necessario impegnarli effettivamente (più probabilmente il progetto non è pronto per essere
eseguito il commit

@djromero Grazie per averlo rintracciato! Vorresti che lo aggiungessi alla mia risposta?
matt

@matt sicuro, sentiti libero di farlo
djromero

un nuovo commit ha risolto il problema per me.
MatterGoal

34
Per me, è stato facile disabilitare rapidamente e quindi riattivare il controllo del codice sorgente nelle preferenze. Xcode> Pref> Controllo del codice sorgente> deseleziona "Abilita controllo del codice sorgente" .... quindi riattivalo dopo. E poof! andato!
BennyTheNerd il

84

Se non usi il controllo del codice sorgente xcode ma qualche altro client git (come l'albero dei sorgenti o il terminale), puoi disabilitare il controllo del codice sorgente in Xcode e gli avvisi spariranno.

Xcode> Preferenze> Controllo del codice sorgente e deseleziona " Abilita controllo del codice sorgente "


Questo rimuove quindi il confronto side-by-side per il vecchio commit da XCode?
Suppongo di

15

Ho provato tutti questi (e molti altri) ma nessuno di loro ha funzionato. Dopo ore di tentativi di varie correzioni, ho scoperto che la seguente procedura ha funzionato.

cd "project directory"
git add .

Dovrai chiudere XCode e riaprire o in caso contrario i Commit futuri potrebbero fallire.

Spero che questo aiuti qualcuno.


Eccezionale. Il mio progetto è diventato un po 'disordinato aggiornando i pod e gli avvisi sono diventati troppo ... Questo ha risolto il problema. Grazie!
Colibri,

8

Risolvo il problema semplicemente con questo:

  1. Aggiungi il colpevole al progetto inserisci qui la descrizione dell'immagine

  2. Rimuovi il riferimento inserisci qui la descrizione dell'immagine

Ciò pulisce lo stato interno di XCode e il messaggio scompare.


Funziona davvero. La soluzione di @ matt ha funzionato una volta in determinate circostanze, ma ho un brutto file che continua a strisciare su XCode e questo è l'unico modo per sbarazzarsene.
qwerty_so,

7

Che ne dici commitdi Source Control.

In primo luogo potrebbe essere necessario mostrare il contenuto del "your project name".xcodeprojpacchetto e mostrare il contenuto del pacchetto project.xcworkspacee quindi eliminare la xcuserdatacartella.

Se non riesci ancora a eseguire il commit a causa di Impossibile comunicare con un problema dell'applicazione di supporto, nella directory del progetto prova quanto segue:

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

* Ricorda di riaprire il progetto per vedere l'effetto.


7

Puoi risolvere il problema selezionando l'opzione "Aggiungi e rimuovi file automaticamente" in X-Code-> Preferenze-> Controllo del codice sorgente

Ecco lo screenshot delle Preferenze


7

Xcode 8 sembra mancare spesso git addi file cancellati / correlati. Per correggerlo, tocca Commit...dal Source Controlmenu di Xcode , assicurati di controllare questi file (che sono seguiti da un punto esclamativo!), Quindi apporta le modifiche. Questo dovrebbe cancellare gli avvisi.


5

Ho avuto questo problema alcune volte e finalmente l'ho avuto dopo aver fatto brutte soluzioni! Mi sono seduto e l'ho rintracciato fino a quando non ho trovato il motivo per esso e dove sono stati memorizzati i riferimenti!

Come qualcuno ha già proposto, ha a che fare con il controllo della versione, beh sì e no, in alcuni casi, ha sicuramente a che fare con la ricerca di file direttamente usando il finder o altro (ma non da XCode)

Ecco una soluzione rapida che consente di risparmiare molti problemi e parolacce!

Elimina questo file: ./.xcworkspace/xcuserdata/.xcuserdatad/UserInterfaceState.xcuserstate

E gli errori scompaiono!


Inizialmente ha funzionato, ma i file mancanti sono ricomparsi poco dopo.
Hackmodford,

4

Ho avuto lo stesso problema. Nel mio caso c'era una directory .git in una directory padre del mio progetto. Eliminando la directory .git principale, gli errori sono scomparsi.


3

Nel mio caso i pod sono stati registrati nel repository generando un paio di centinaia di avvisi per "file mancanti". Risolto il problema rimuovendo i pod dal repository:

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

2

Ho risolto questo problema seguendo i seguenti passaggi:

  1. Cancella dati derivati

  2. Elimina i file mancanti durante il commit e quindi esegui il commit.

  3. Build pulito

  4. Risolto ..

Happy Coding .. :)


1

Ho riscontrato lo stesso problema dopo aver aggiunto la cella CollectionView personalizzata (CustomCollectionViewCell) nel progetto. Lo stesso errore si è verificato come sopra. Non è necessario eliminare il file, invece possiamo.

Rinominare il file mancante per me è "xCustomCollectionViewCell.xib".

Ora l'errore è scomparso.

Rinominare nuovamente lo stesso file con il nome originale "CustomCollectionViewCell.xib"


1

Questo mi ha risolto:

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

0

Ho avuto questo problema su Xcode 9.3

La soluzione che ha funzionato per me: aggiungi uno spazio nel file, salva, quindi attendi che lo !stato cambi M, ed elimina lo spazio, salva.

Purtroppo, con quasi 100 file da esaminare, ho rivisitato questo post e questo commento di @BennyTheNerd a una risposta mi ha aiutato!

Per me, è stato facile disabilitare rapidamente e quindi riattivare il controllo del codice sorgente nelle preferenze. Xcode> Pref> Controllo del codice sorgente> deseleziona "Abilita controllo del codice sorgente" .... quindi riattivalo dopo. E poof! andato! - BennyTheNerd il 16 gennaio 17 alle 7:29

Inoltre, ho avuto abbastanza Xcode e quindi ho aperto lo stesso progetto, quindi ho riattivato il controllo del codice sorgente attraverso le preferenze.

Spero che questo ti aiuti!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.