Xcode 8 - Eksik Dosya uyarıları


127

Swift 2.3 kullanarak Xcode 8'e yükselttiğimden beri birkaç eksik dosya uyarısı aldım. Bunların hepsi kullandığım kapsüller ile ilgilidir.

Eksik dosyalar

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

Eksik dosyaları gösteren bölmeler

  • Bölge (~ 43/43)
  • TextFieldEffects (~ 3/43)
  • BEMCheckBox (2/43)

Bu sorunu nasıl düzeltirim?


Denedin pod installmi
Marc-Alexandre Bérubé

@ Marc-AlexandreBérubé evet, pod yüklemeyi birkaç kez denedim. Pod klasörünü silip başka bir yükleme yaptı.
Alan

Yanıtlar:


298

Bu sadece bir Xcode hatasıdır. Daha sonra bir commit yapmadan bir dosyayı silerseniz veya yeniden adlandırırsanız, Xcode önceki kayıt gitile nesnelerin mevcut durumu arasındaki tutarsızlığı görür ve bu uyarıları rapor eder. git addDosya silme / yeniden adlandırma içeren bir işlemi yaptığınız anda kaybolurlar.


25
Dosyaları dizine ( git add) eklemek yeterli, onları gerçekten işlemeye gerek yok (büyük olasılıkla proje tamamlanmaya hazır değil ...)
djromero

@djromero Bunu izlediğiniz için teşekkür ederiz! Bunu cevabıma eklememi ister misiniz?
mat

@matt tabii, yapmaktan çekinmeyin
djromero

yeni bir işlem benim için sorunu çözdü.
MatterGoal

34
Benim için, tercihler altında kaynak kontrolünü hızla devre dışı bırakmak ve sonra yeniden etkinleştirmek kadar kolaydı. Xcode> Pref> Source Control> "kaynak kontrolünü etkinleştir" ... seçeneğinin işaretini kaldırın ve daha sonra yeniden etkinleştirin. Ve puf! gitmiş!
BennyTheNerd

84

Eğer xcode kaynak kontrolünü kullanmıyorsanız, ancak başka bir git istemcisi (kaynak ağacı veya terminal gibi) kullanıyorsanız, Xcode'da kaynak kontrolünü devre dışı bırakabilirsiniz ve uyarılar kaybolur.

Xcode> Tercihler> Kaynak kontrolü ve işaretini kaldırın " kaynak denetimini etkinleştirme "


Bu daha sonra XCode'dan eski kaydetme için yan yana karşılaştırmayı kaldırır mı? Öyle varsayıyorum ...
Byron Coetsee

15

Bunların hepsini (ve diğerlerini) denedim ama hiçbiri işe yaramadı. Saatlerce çeşitli düzeltmeleri denedikten sonra, aşağıdaki prosedürün işe yaradığını buldum.

cd "project directory"
git add .

XCode'u kapatmanız ve yeniden açmanız gerekecek, aksi takdirde gelecekteki İşlemler başarısız olabilir.

Umarım bu birine yardımcı olur.


Muhteşem. Projem bölmeleri güncelleyerek biraz dağınık oldu ve uyarılar çok fazla oldu ... Bu sorunu çözdü. Teşekkürler!
Colibri

8

Sorunu basitçe şu şekilde çözüyorum:

  1. Suçluyu projeye ekleyin görüntü açıklamasını buraya girin

  2. Referansı kaldır görüntü açıklamasını buraya girin

Bu, XCode'un dahili durumunu temizler ve mesaj kaybolur.


Bu gerçekten işe yarıyor. @ matt'ın çözümü belirli koşullarda bir kez çalıştı, ancak XCode'a geri dönen kötü bir dosyam var ve ondan kurtulmanın tek yolu bu.
qwerty_so

7

Peki commitiçindeSource Control .

Öncelikle Paket İçeriğini "your project name".xcodeprojgöstermeniz ve Paket İçeriğini göstermeniz project.xcworkspaceve ardındanxcuserdata klasörü .

Eğer hala işleyemiyorsanız bir yardımcı uygulama iletişim kuramadık sorunun ardından proje dizin altında aşağıdakileri deneyin:

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

* Etkisini görmek için projeyi yeniden açmayı unutmayın.


7

X-Code-> Tercihler-> Kaynak Kontrolünde "Dosyaları otomatik olarak ekle ve kaldır" seçeneğini işaretleyerek sorunu çözebilirsiniz.

İşte Tercihlerin ekran görüntüsü


7

Xcode 8, genellikle git addsilinen / ilgili dosyaları kaçırıyor gibi görünüyor . Commit...Düzeltmek için, Xcode'un Source Controlmenüsünden simgesine dokunun , bu dosyaları kontrol ettiğinizden emin olun (ardından bir ünlem işareti gelir!), Ardından değişiklikleri uygulayın. Bu uyarıları temizlemelidir.


5

Bu sorunu şimdi birkaç kez yaşadım ve sonunda çirkin geçici çözümler yaptıktan sonra yaşadım! Oturdum ve nedenini bulana ve referanslar saklanana kadar izledim!

Birinin zaten önerdiği gibi, sürüm kontrolü ile ilgili olması gerekir, evet ve hayır, bazı durumlarda, kesinlikle doğrudan bulucuyu veya her neyse (ancak XCode'dan değil) dosyalarla uğraşmakla ilgilidir.

İşte çok fazla zahmetten ve küfürden kurtaran hızlı bir düzeltme!

Bu dosyayı silin: ./.xcworkspace/xcuserdata/.xcuserdatad/UserInterfaceState.xcuserstate

Ve hatalar kaybolur!


Bu ilk başta işe yaradı, ancak eksik dosyalar kısa süre sonra yeniden ortaya çıktı.
Hackmodford

4

Ben de aynı sorunu yaşadım. Benim durumumda, projemin üst dizininde bir .git dizini vardı. Bu üst .git dizinini silerek hatalar gitti.


3

Benim durumumda, "eksik dosyalar" için birkaç yüz uyarı oluşturan depoya kaydedilen Bölmeler. Depodan Bölmeleri kaldırarak düzeltildi:

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

2

Bu sorunu aşağıdaki adımları izleyerek çözdüm:

  1. Türetilmiş Verileri Temizle

  2. Kaydetme sırasında eksik dosyaları atın ve ardından kesin.

  3. Temiz Yapı

  4. Çözülmüş ..

Mutlu Kodlama .. :)


1

Projeye özel CollectionView hücresi (CustomCollectionViewCell) ekledikten sonra aynı sorunla karşılaştım.Aynı hata yukarıdaki gibi oluştu. Bunun yerine dosyayı silmeye gerek yok.

Yeniden adlandır Eksik dosya benim için "xCustomCollectionViewCell.xib".

Şimdi hata gitti.

Aynı dosyayı "CustomCollectionViewCell.xib" orijinal adıyla yeniden adlandırın.


1

Bu benim için düzeltti:

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

0

Bu sorunu Xcode 9.3'te yaşadım

Benim için çalışan çözüm: Dosyaya bir alan ekleyin, kaydedin, ardından !durumun değişmesini bekleyin Mve alanı silin, kaydedin.

Ne yazık ki, incelenecek yaklaşık 100 dosyayla bu gönderiyi tekrar ziyaret ettim ve @BennyTheNerd'den gelen bu yorum bir cevap için yardımcı oldu!

Benim için, tercihler altında kaynak kontrolünü hızlı bir şekilde devre dışı bırakmak ve sonra yeniden etkinleştirmek kadar kolaydı. Xcode> Pref> Source Control> "kaynak kontrolünü etkinleştir" ... seçeneğinin işaretini kaldırın ve daha sonra yeniden etkinleştirin. Ve puf! gitmiş! - BennyTheNerd 16 Ocak 2017 Saat 07:29

Ek olarak, oldukça Xcode'um vardı ve ardından aynı projeyi açtım ve ardından tercihler aracılığıyla kaynak kontrolünü yeniden etkinleştirdim.

Bu yardımcı olur umarım!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.