Xcode 10'a yükselttikten sonra oluşan sorunlar: Derleme girdi dosyası bulunamıyor


108

Dün gece Xcode SDK'mı 10 sürümüne yükselttim ve sonra derleyemediğimi fark ettim.

Bu hatayı alıyorum:

Derleme giriş dosyası bulunamıyor: '/Users/call01/Library/Developer/Xcode/DerivedData/Comp-Lite-Apps-gytvmossqptokeafrddvvmnlzadk/Build/Products/Debug-iphoneos/SG11.app/SG11

güncellememden önce mevcut değildi ve geri dönmek istiyorum ancak bu sorunu çözebilirsem sürüm 10'a bağlı kalmak istiyorum.

Yanıtlar:


136

Legacy Build System( File > Project Settings > Workspace Settings > Legacy Build System) Öğesine geri dönmeyi deneyin


2
Güzel. Ama daha sonra ne olacağını hala merak ediyorum? Projemizi düzeltmemiz gerekiyor ama nasıl?
Teddy

1
@Teddy Henüz bir çözüm bulamadım, hala bu geçici çözümü kullanıyorum
schmidt9

2
@ schmidt9 şapkalar kapalı, çok teşekkür ederim bir hayat kurtarıcısın. ikinci olarak, sorunun bu yeni inşa sistemi olduğuna inanamıyorum. Günlerdir bununla mücadele ediyorum. iOS 12 ve XCode 10'a güncelledikten sonra otomatik imzalama kesildi. Her şeyi denedim ve hatta tüm sertifikaları iptal edip yeniden yarattım. ve profiller. imzalama düzeltildi ancak ön hazırlık profili her zaman HİÇBİRİ oldu. Uygulamayı manuel olarak imzalayabilirdim ve çalıştı ancak daha sonra iCloud kapsayıcısı ve diğer yetkiler yayınlanan uygulamada eksikti. neyse, sorunumu çözdüm. Aman tanrım, elma her güncellemede beni nasıl sinirlendiriyor. şerefe!
Nexus

Bu, otomatik imzalama ve profil oluşturma ile ilgili sorunumu çözdü. ancak iCloud kapsayıcılarında hâlâ sorun yaşıyorum. Uygulamayı doğrudan telefonuma yüklediğimde sorunsuz çalışıyor. Bir iCloud kapsayıcım var ve iCloud saklama alanından dosya eklemek için iCloud belgelerini kullanıyorum. ancak uygulamayı TestFlight'a yayınladığımda çalışmıyor. sanki iCloud konteyneri dağıtılmış uygulamanın profilinde bile yokmuş gibi sessizce başarısız oluyor. inanılmaz derecede sinir bozucu.
Nexus

1
@Nexus, yeni derleme sistemiyle ilgili bu sorun, Apple'ın başlatmasından bu yana devam ediyor (xcode 8 veya 9). Maalesef iCloud kapsayıcılarıyla ilgilenmedim, sorunun ne olabileceğini söyleyemiyorum
schmidt9

96

Swift dosyaları veya aşağıdaki gibi projeye ait dosyalar için:

Build input file cannot be found: PATH/TO/FILE/FILE.swift

Bu sorun, projedeki dosyalar veya klasörler kaldırıldığında veya taşındığında ortaya çıkabilir.

Tamir etmek için:

  1. Proje gezginine gidin, projenizi seçin

  2. Build PhasesSekmeyi seçin

  3. In Compile Sourcesbölümünde, dosya (s) onay Xcode şikayetçi olduğunu

  4. Dosyaların yanlış yola sahip olduğuna dikkat edin ve eksi simgesine tıklayarak bunları silin.

  5. Artı simgesine tıklayarak dosya (lar) ı yeniden ekleyin ve projede arama yapın.

  6. Ürün> Derleme Klasörünü Temizle

  7. İnşa etmek

Bu eksik dosyaları genellikle Recovered Referencesproje ağacındaki Xcode klasöründe bulabilirsiniz (Xcode'un sol alt köşesindeki arama çubuğunu arayın ve şikayet dosyanızı arayın):

Bunları bu klasörden silmek de hatayı çözebilir.


1
Teşekkür ederim! Silinen dosyalara referanslarımız vardı. Bu referansları tek başına silmek sorunu çözdü
Jason

Bazen XCode içinden yeniden adlandırdığımda, 'Finder'daki dosya hala eski adı tutuyor. Dosyayı 'Finder'da bulun ve yeni adla yeniden adlandırın.
Tony

60

Benim için Xcode 10'da, Bu çözümler harika çalıştı. Sadece Kurtarılmış Referanslar klasörüne gidin ve kırmızı renkteki tüm dosyaları kaldırın ve uygun referansla tekrar ekleyin.

görüntü açıklamasını buraya girin


10
Projemde "Kurtarılmış Referanslar" ı bulamıyorum
david m lee

4
Kırmızı dosyaları kaldırdıktan sonra "uygun referansla tekrar ekleyin" derken neyi kastediyorsunuz?
PrimeTimeTran

@PrimeTimeTran Bu dosya referanslarını projenize sürükle bırak veya kopyala yapıştır ile tekrar ekleyebileceğinizi söyledim. Tıpkı projeye yeni bir dosya eklemek gibi.
Krishna Thakur

3
@davidmlee Sanırım bu adam başka bir deyişle, "projedeki tüm klasörlerinizi açın, kırmızı öğeleri silin ve tekrar ekleyin." Kurtarılan referanslar klasörüne gerek yoktur.
bearacuda13

17

Bu benim için Xcode 10'da çalıştı:

  • Xcode projenizde Proje simgesine / adına tıklayın
  • Genel sekmesine gidin
  • Kimlik bölümü altında [Choose info.plist File] öğesini tıklayın
  • İnfo.Plist dosyasını seçin
  • İnfo.plist'in başarıyla yüklenip yüklenmediğini görmek için Bilgi sekmesini kontrol edin
  • Oluşturun ve çalıştırın

16

Tuhaf bir şekilde, Xcode'u kapatıp yeniden açmak da yeterli olabilir.


Ayrıca türetilmiş verileri de sildim, ancak basitçe kapatmak / yeniden açmak yeterli olabilirdi.
Adam Johns

Bunun, işleri düzeltmenin bir Visual Studio yolu olduğunu düşündüm ... ama benim için çalıştı.
SEG.Veenstra

14

Yukarıdaki çözüm sonunda benim için işe yarıyor; ancak, sonunda başarılı bir şekilde derlemek için birkaç ekstra adım atmam gerekiyor. (Bu ekstra adımlar Xcode 9'da bile gerekliydi.)

  1. Xcode: Dosya -> Çalışma Alanı Ayarları -> Derleme Sistemi: Eski Derleme Sistemi
  2. Xcode: Ürün -> Temizle
  3. "İPhone 8", "iPhone 8 Plus", vb. Gibi farklı emülatör türleri aracılığıyla derlemek için döndürün (Başarısız olabilir veya olmayabilir.)
  4. Sonunda "Genel iOS Cihazı" üzerinde derleyin

Ben de çalışmasını sağlamak için bu adımlardan bazılarını uygulamam gerekiyordu.
Liwen Zhao

13

Hedefinizin Yapı Ayarlarında .plist dosyasının yolunu kontrol edin

görüntü açıklamasını buraya girin


Evet - plist'i ayrı bir klasöre taşıdım. Sanırım klasörler sanaldı ve şimdi gerçek (eski mavi / sarı klasör olayı). Her iki durumda da cevabınız yerinde :-)
Peter

10

Bu sorunu şu şekilde düzelttim: projenizin Yapım Aşamalarına gidin (en üstteki proje simgesine tıklayın ve ardından Yapı Aşamaları'na tıklayın). Dosyanızı orada arayın. Oradaysa (grileşir), silin. Ardından temizleyin (shift + alt + command + k) ve çalıştırın! Umarım yardımcı olur.


9

Hata Info.plist'i bulamadığını söylüyorsa ve yanlış yola bakıyorsa , aşağıdakileri yapın:

  1. Gezginden projenizi seçin, ardından hedefinizi seçin
  2. "Yapı Ayarları" nı seçin ve "plist" i arayın
  3. Info.plist File adında bir seçenek olmalıdır. Konumu doğru olanla değiştirin.

Bu cevap, uygulama klasörünüzü / yapınızı yeniden adlandırırsanız da geçerlidir. Teşekkürler @keverly
Lorem

5

Yukarıdakilerin hiçbiri benim için işe yaramadı, ancak bu işe yaradı:

  1. Finder'da projeyi açın, .xcodeproj dosyanıza sağ tıklayın ve paket içeriğini gösterin
  2. Bir metin düzenleyicide project.pbxproj dosyasını açın
  3. Eksik dosyanızın referansını bulun
  4. Düzenle path = "path/to/file.swift" diskte ve dosyayı kaydetmektedir fiili konumu.
  5. Projeyi yeniden oluşturun

BU, onu düzelten şey ... inanılmaz
David Seek

Burada aynı. Bunu nasıl anladın?
Peter Schorn

2

proje dosyalarınızın bulunduğu sağ gezinme bölmesini açın VEYA JSUT cmd + 1'e tıklayın Sonra "Kurtarılmış Referanslar" Klasörünü arayın, tüm kırmızı dosyaları açın (silin), sonra her şey çok iyi çalışacaktır.


2

Bunu birim testlerimi oluşturmak için yaptım. Bu, örnek testleri sildiğim için olmuş olabilir.

Unit test paketini çıkardım, ardından aşağıdaki resimlerde gösterildiği gibi yeniden ekledim ve her şey yolunda gitti.

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin


2

Bir dosyayı yeniden adlandırdıktan sonra bu hatayla karşılaştım. Bir şekilde Xcode, diskteki gerçek dosyayı doğru şekilde yeniden adlandırmadı.

Yani dosyayı bulamadı. Bazen dosyalar kırmızı metin rengiyle vurgulanır. Diğer zamanlarda dosyanın önündeki Swift simgesi gri bir kaplama alıyordu.

Düzeltme basitti.

  • Hataya bakın ve tam olarak hangi dosyayı bulamadığını görün.
  • Bulunamayan dosyayı seçin.
  • 'Dosya Denetçisi'ne gidin. Xcode'un sağ gezinme bölmesindedir.
  • Klasör simgesine tıklayın.
  • Doğru dosyayı seçin.
  • Derlemeyi temizleyin ve tekrar çalıştırın.

1

Yakın zamanda yeni bir hızlı sürüme yükselttikten sonra benzer bir sorun yaşadım. Dosyaları etrafta taşımak, xcode projemin artık proje dizininde olmayan öğelere başvurmasına neden oldu ve bana Hata Kodu Oluşturma Giriş Dosyası Bulunamadı.

Benim durumumda bir şekilde aşağıda açıklandığı gibi başvurulan birden fazla dosya / resim vardı:görüntü açıklamasını buraya girin

Yukarıdaki resimde.

  • Hedefler sayfanıza gidin.
  • Ardından en üstteki Yapı Aşamaları sekmesine tıklayın.
  • Paket Kaynaklarını Kopyalamak için Aşağı Kaydırın
  • Etkilenen dosyaları bulun ve kaldırın. (üzerlerinde sil tuşuna basın veya seçin ve eksi düğmesine basın)

Burada bir şekilde diğer klasörlerden referans alınan birden fazla dosya ve görüntü vardı ve artık onları bulamadıkları için yapı başarısız olacaktı. Ve ben de bulamadım! veya Xcode'un hala onlara nasıl başvurduğunu

Umarım bunun bir başkasına yardımı olur !


1

Ben de aynı sorunu yaşadım. Sorun, Hedef> Derleme Aşamaları> Derleme Kaynakları altında herhangi bir dosyam olmamasıydı. Derleme Kaynaklarına en az bir dosya ekledikten sonra sorun çözüldü.


1

Yanlış bir şey yaptığımdan değil, ama bu konuyla tamamen farklı bir nedenle karşılaştım ve buna neyin sebep olduğunu biliyorum.

Daha önce bulucuyu kullandım ve bir dosyayı projemin dizinine / klasörüne sürükledim. Ben vermedi içine sürüklemek Xcode . Xcode'un bu dosyayı projeye dahil etmesini sağlamak için, daha sonra tekrar Xcode'a sürüklemem gerekiyordu.

Ancak o dosyaya sahip olmayan (ya da buna ihtiyaç duymayan) yeni bir şubeye geçtiğimde, Xcode bana şu hatayı veriyordu:

Derleme giriş dosyası bulunamıyor: '/ Kullanıcılar / honey / Documents / xp / xpios / powerup / Models Extensions / CGSize + Extension.swift'


Derleme klasörünü temizledim ve türetilmiş verilerimi sildim, ancak Xcode'umu yeniden başlatana kadar çalışmadı.


1

Bu benim için çalıştı

  1. kırmızı renkli dosyaları silmeyi deneyin
  2. türetilmiş verilerdeki dosyaları sil
  3. yapı klasörünü temizle
  4. sonra dosya-> çalışma alanı ayarlarından "yeni derleme sistemi" kullanarak oluşturmayı deneyin

1

Benim durumumda, XCode'un bahsettiği dosya (ve dizin) yanlıştı ve sorun, Git'in nispeten büyük bir dalla birleşmesinden sonra oluşmaya başladı. Aynısını düzeltmek için aşağıdaki adımları uyguladım:

  • XCode'un dizin sisteminde dosya arandı.
  • Kırmızıyla vurgulanan hatalı dosya bulundu (yani eksikti).
  • Dosyaya sağ tıklandı ve dosyayı kaldırdı.
  • Kodumu tekrar oluşturmayı denedim ve işte başarılı oldu.

Umarım bu adımlar birine yardımcı olur.


1

Benim durumumda, .app ikili dosyasını (Buck) oluşturan bir derleme betiğim vardı. Buck derleme komut dosyası, Swift Embed oluşturma adımına paralel olarak çalıştı. App ikili dosyası henüz oluşturulmadığı için Swift adımı başarısız olur.

Derleme komut dosyamın "$BUILD_PRODUCTS_DIR/$EXECUTABLE_PATH"altına ekledim"Output Files" .

Bu, Xcode'un Yeni Derleme Sistemine, bu betiğin Binary uygulamasını çıktılayacağını ve sırayla Xcode'un bu yapıya bağlı tüm derleme adımlarını senkronize edeceğini söyler.

görüntü açıklamasını buraya girin


0
  1. Xcode-> Dosya -> Proje Ayarı'na gidin
  2. Derleme Sistemini Değiştirin: - "Eski Derleme Sistemi".
  3. Temizleyin, Oluşturun ve Çalıştır'a basın.

0

Xcode'un şikayet ettiği şey, Proje -> Oluşturma Aşamaları -> Paket Kaynaklarını Kopyala'ya giderek, "sorunlu" XIB'yi kaldırarak, temizleyerek (CMD + Shift + K), oluşturup yeniden ekleyerek çalıştırdığım bir XIB dosyasıydı.


0

Bazen dosyalarınızı farklı bir klasöre taşıdığınızda ve özellikle de info.plistbaşka bir klasöre taşıdığınızda , o dosyanın konumunu tanımlamanız gereken bir olasılık da vardır . Bu sorunu çözmek için, üstteki proje mavi simgenizi tıklamanız yeterlidir; proje adı ve paket kimliği yerine bir düğme göreceksiniz, üzerine tıklayın ve info.plistorada dosyayı bulun, mutlu bir şekilde temizleyin ve derleyin.


0

Xcode 10'a yükselttikten hemen sonra bu sorunla karşılaştım, ancak sorun bu değildi.

Derleme sistemini değiştirmeyi denedim, ancak bu bana aynı anlama gelen ayrı bir hata verdi. Genel olarak "X dosyası bulunamıyor" diyor.

Bir dosya bulunamadığında kontrol edilecek birden fazla şey vardır.

  1. Kurtarılmış referanslar Klasör Apple, mevcut olmayan bir dosyaya referans tespit ederse bu referansı "Kurtarılmış Referanslar" adlı bir gruba ekleyeceği bu güzel şeyi yapar.

Bu Apple için güzel ama her zaman işe yaramıyor.

  1. Derleme Aşamaları Derleme Kaynakları Bu listede, projenin derlemeyi düşündüğü bir dosya için meta veri olabilir, ancak dosya gerçekte mevcut değildir ve dosyayı verilen yolda bulmaya çalışır. Bu listede soluklaşacak, onları silecek ve dosyanın hedef bağımlılıklarını değiştirerek veya manuel olarak kaldırıp içine sürükleyerek yeniden ekleyecektir.

  2. Dosya Yolu Hatanın yazdırıldığı dosya yolunu ve bulucudaki dosyanın dosya yolunu iki kez kontrol edin. Bunu, Xcode'daki dosyaya tıklayarak ve "Dosya denetçisini göster" sekmesini (en soldaki sekme) işaretleyerek kolayca görebilirsiniz. Bu yollar doğruysa, o zaman iyisin!

  3. Projenizdeki kurtarılmış referanslar veya kırmızı olmayan dosyalar karartılmış Bu beni sinirlendirdi çünkü ne olduğu hakkında net değil, ancak temelde bulucuya gidip bir dosyayı projedeki referansı güncellemeden farklı bir konuma taşırsanız dosya artık orada olmadığı için hatayı atar. Bunun için bulduğum tek gösterge, "Proje Gezgini" sekmesindeki (en soldaki sekme) dosyanın çok az soluk olduğu, ancak bu dosyayı silmeye gittiğinizde Xcode sizden referansı silmenizi veya göndermenizi istemiyor. çöp. Dosyayı silerek ve projeye yeniden ekleyerek veya "Dosya Denetçisi" sekmesine gidip yolun yanındaki klasör simgesini tıklayıp uygun konuma değiştirerek bunu düzeltebilirsiniz.

Her iki durumda da, hata bir dosya bulamadığını gösterir, eski yapı sistemine geçmek daha somut bir sorun için bir engeldir. Geliştiriciler olarak, bir derleyicinin bir yapının dosya yolunun sonunda listelenmesini istediğini anlıyoruz. Bir yerlerde yol doğru değil! Onun nerede olduğunu bulmalıyız!

Sorunum yukarıda listelenen 4. öğe ile çözüldü. Umarım bu birine yardımcı olur.


0

Dosya> Proje Ayarları> Yapı Sistemlerini Eski Yapı Sistemlerine Değiştirin


3
Biraz açıklama yardımcı olabilir
vik_78

0

Benim durumumda, uygulamamda kullandığım bir üçüncü taraf xcodeproj klasörünü yanlışlıkla sildim.


0

Profil oluşturmayı denediyseniz ve sonra işe yaramadıysa ve şimdi inşa edemiyorsanız, Hedef bölmenize gidin (Proje Simgesi aracılığıyla), Oluşturma Ayarları sekmesine geçin, PROFİL'i arayın - ve CLANG_USE_OPTIMIZATION_PROFILE'ı "Hayır" olarak ayarlayın.


0

Benim durumumda, yeni bir test hedefi oluşturdum ve varsayılan swift dosyasını sildim, böylece sadece info.plist. Yeni bir dosya eklemek bu sorunu çözdü.

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.