Xcode 8 - ostrzeżenia o brakujących plikach


127

Od czasu aktualizacji do Xcode 8 przy użyciu Swift 2.3 mam kilka ostrzeżeń o brakujących plikach. Wszystkie są związane z strąkami, których używam.

Brakujące pliki to

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

Podami, które pokazują brakujące pliki, są

  • Królestwo (~ 38 z 43)
  • TextFieldEffects (~ 3 z 43)
  • BEMCheckBox (2 z 43)

Jak rozwiązać ten problem?


Czy próbowałeś pod install?
Marc-Alexandre Bérubé

@ Marc-AlexandreBérubé tak, kilka razy próbowałem zainstalować pod. Usunięto folder pod i wykonałem kolejną instalację.
Alan

Odpowiedzi:


298

To tylko błąd Xcode. Jeśli usuniesz plik lub zmienisz jego nazwę bez wykonania zatwierdzenia, Xcode widzi rozbieżność między poprzednim gitzatwierdzeniem a bieżącym stanem rzeczy i zgłasza te ostrzeżenia. Znikają, gdy tylko wykonasz operację, git addktóra obejmuje usunięcie / zmianę nazwy pliku.


25
Dodanie plików do index ( git add) wystarczy, nie trzeba ich faktycznie zatwierdzać (bardziej prawdopodobne, że projekt nie jest gotowy do zatwierdzenia ...)
djromero

@djromero Dziękujemy za znalezienie tego! Czy mam dodać to do mojej odpowiedzi?
mat.

@matt pewnie, nie krępuj się
djromero

nowe zatwierdzenie rozwiązało problem.
MatterGoal

34
Dla mnie było to tak proste, jak szybkie wyłączenie, a następnie ponowne włączenie kontroli źródła w preferencjach. Xcode> Pref> Kontrola źródła> odznacz „Włącz kontrolę źródła” .... a następnie włącz ją ponownie. I puf! odszedł!
BennyTheNerd

84

Jeśli nie używasz kontroli źródła xcode, ale jakiegoś innego klienta git (takiego jak drzewo źródłowe lub terminal), możesz wyłączyć kontrolę źródła w Xcode i wtedy ostrzeżenia znikną.

Xcode> Preferencje> Kontrola źródła i odznacz „ Włącz kontrolę źródła


Czy to następnie usuwa porównanie side-by-side dla starego zatwierdzenia z XCode? Zakładam, że tak ...
Byron Coetsee,

15

Wypróbowałem wszystkie (i wiele innych), ale żaden z nich nie działał. Po godzinach próbowania różnych poprawek stwierdziłem, że następująca procedura działa.

cd "project directory"
git add .

Będziesz musiał zamknąć XCode i ponownie otworzyć, w przeciwnym razie przyszłe zatwierdzenia mogą się nie powieść.

Mam nadzieję, że to komuś pomoże.


Niesamowite. Mój projekt trochę się bałaganił, aktualizując strąki, a ostrzeżenia stały się zbyt duże ... To naprawiło problem. Dzięki!
Colibri

8

Rozwiązuję problem po prostu w ten sposób:

  1. Dodaj winowajcę do projektu wprowadź opis obrazu tutaj

  2. Usuń odniesienie wprowadź opis obrazu tutaj

Spowoduje to wyczyszczenie wewnętrznego stanu XCode i komunikat zniknie.


To rzeczywiście działa. Rozwiązanie @mata zadziałało raz w pewnych okolicznościach, ale mam paskudny plik, który powraca do XCode i jest to jedyny sposób, aby się go pozbyć.
qwerty_so,

7

A może commitw Source Control.

Może być konieczne najpierw wyświetlenie zawartości pakietu "your project name".xcodeproji pokazanie zawartości pakietu, project.xcworkspacea następnie usunięcie xcuserdatafolderu.

Jeśli nadal nie możesz zatwierdzić z powodu Nie można nawiązać komunikacji z aplikacją pomocniczą, w katalogu projektu spróbuj wykonać następujące czynności:

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

* Pamiętaj, aby ponownie otworzyć projekt, aby zobaczyć efekt.


7

Możesz rozwiązać ten problem, zaznaczając opcję „Dodaj i usuń pliki automatycznie” w X-Code-> Preferencje-> Kontrola źródła

Oto zrzut ekranu Preferencji


7

Wydaje się, że Xcode 8 często pomija git addusunięte / powiązane pliki. Aby to poprawić, stuknij Commit...w Source Controlmenu Xcode , sprawdź te pliki (po których następuje wykrzyknik!), A następnie zatwierdź zmiany. To powinno usunąć ostrzeżenia.


5

Miałem ten problem już kilka razy i w końcu miałem go po wykonaniu brzydkich obejść! Usiadłem i śledziłem go, dopóki nie znalazłem powodu i kiedy zapisano odniesienia!

Jak ktoś już zaproponował, ma to związek z kontrolą wersji, cóż, tak i nie, w niektórych przypadkach na pewno ma to związek z przeszukiwaniem plików bezpośrednio za pomocą wyszukiwarki lub czegokolwiek (ale nie z XCode)

Oto szybkie rozwiązanie, które oszczędza wiele kłopotów i przekleństw!

Usuń ten plik: ./.xcworkspace/xcuserdata/.xcuserdatad/UserInterfaceState.xcuserstate

A błędy znikają!


1
Na początku to działało, ale brakujące pliki pojawiły się wkrótce potem.
Hackmodford

4

Miałem ten sam problem. W moim przypadku był katalog .git w katalogu nadrzędnym mojego projektu. Po usunięciu tego nadrzędnego katalogu .git błędy zniknęły.


3

W moim przypadku pody zostały wpisane do repozytorium generując kilkaset ostrzeżeń o "brakujących plikach". Naprawiono to, usuwając pody z repozytorium:

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

2

Rozwiązałem ten problem, wykonując następujące czynności:

  1. Wyczyść dane pochodne

  2. Odrzuć brakujące pliki podczas zatwierdzania, a następnie wykonaj zatwierdzenie.

  3. Czysta kompilacja

  4. Zdecydowany..

Miłego kodowania… :)


1

Napotkałem ten sam problem po dodaniu niestandardowej komórki CollectionView (CustomCollectionViewCell) w projekcie. Wystąpił ten sam błąd, jak powyżej. Nie ma potrzeby usuwania pliku zamiast tego możemy.

Zmień nazwę Brakujący plik dla mnie to „xCustomCollectionViewCell.xib”.

Teraz błąd zniknął.

Ponownie zmień nazwę tego samego pliku na oryginalną nazwę „CustomCollectionViewCell.xib”


1

To naprawiło to dla mnie:

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

0

Miałem ten problem na Xcode 9.3

Rozwiązanie, które dla mnie zadziałało: dodaj miejsce w pliku, zapisz, a następnie poczekaj, aż !status zmieni się na Mi usuń miejsce, zapisz.

Niestety, mając prawie 100 plików do przejrzenia, wróciłem do tego posta, a ten komentarz @BennyTheNerd do odpowiedzi pomógł!

Dla mnie było to tak proste, jak szybkie wyłączenie, a następnie ponowne włączenie kontroli źródła w preferencjach. Xcode> Pref> Kontrola źródła> odznacz „Włącz kontrolę źródła” .... a następnie włącz ją ponownie. I puf! odszedł! - BennyTheNerd 16 stycznia 2017 o 7:29

Poza tym miałem całkiem Xcode, a następnie otworzyłem ten sam projekt, a następnie ponownie włączyłem kontrolę źródła za pomocą preferencji.

Mam nadzieję że to pomoże!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.