Masalah setelah memutakhirkan ke Xcode 10: File input build tidak dapat ditemukan

105

Saya mengupgrade Xcode SDK saya ke versi 10 tadi malam dan kemudian menemukan bahwa saya tidak dapat membangun.

Saya mendapatkan kesalahan ini:

File masukan build tidak dapat ditemukan: '/Users/call01/Library/Developer/Xcode/DerivedData/Comp-Lite-Apps-gytvmossqptokeafrddvvmnlzadk/Build/Products/Debug-iphoneos/SG11.app/SG11

yang tidak ada sebelum peningkatan saya dan saya tergoda untuk kembali tetapi ingin tetap menggunakan versi 10 jika saya dapat menyelesaikan masalah ini.

pengguna616076
sumber

Jawaban:

131

Cobalah untuk beralih kembali ke Legacy Build System( File > Project Settings > Workspace Settings > Legacy Build System)

schmidt9
sumber
2
Bagus. Tapi saya masih bertanya-tanya apa yang akan terjadi nanti? Kita perlu memperbaiki proyek kita tapi bagaimana caranya?
Teddy
1
@Teddy Saya belum menemukan solusi, masih menggunakan solusi ini
schmidt9
2
@ schmidt9 angkat topi, terima kasih banyak, Anda adalah penyelamat hidup. kedua, saya TIDAK BISA percaya sistem build baru ini adalah masalahnya. Saya telah berjuang dengan ini selama berhari-hari. setelah memperbarui ke iOS 12 dan XCode 10, penandatanganan otomatis rusak. Saya mencoba segalanya dan bahkan mencabut dan membuat ulang semua sertifikat. dan profil. penandatanganan telah diperbaiki tetapi profil penyediaan selalu TIDAK ADA. SAYA BISA menandatangani aplikasi secara manual dan berhasil, tetapi kontainer iCloud dan hak lainnya hilang dari aplikasi yang diterbitkan. bagaimanapun, perbaiki masalah saya. Tuhan yang baik bagaimana apel membuat saya frustrasi dengan setiap pembaruan. Bersulang!
Nexus
Ini memperbaiki masalah saya dengan penandatanganan dan pembuatan profil otomatis. tapi saya masih mengalami masalah dengan kontainer iCloud. ketika saya menginstal aplikasi langsung ke ponsel saya, itu berfungsi dengan baik. Saya memiliki wadah iCloud dan menggunakan dokumen iCloud untuk melampirkan file dari penyimpanan iCloud. tetapi ketika saya merilis aplikasi ke TestFlight, itu tidak berfungsi. gagal secara diam-diam, seolah-olah penampung iCloud bahkan tidak ada di profil aplikasi yang didistribusikan. sangat membuat frustrasi.
Nexus
1
@Nexus Masalah ini dengan sistem build baru tetap ada sejak Apple meluncurkannya (xcode 8 atau 9). Maaf tidak berurusan dengan wadah iCloud, tidak bisa mengatakan apa masalahnya mungkin ada
schmidt9
91

Untuk file Swift atau file milik proyek seperti:

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

Masalah ini dapat terjadi ketika file atau folder telah dihapus atau dipindahkan dalam proyek.

Untuk memperbaikinya:

  1. Masuk ke project-navigator, pilih proyek Anda

  2. Pilih Build Phasestab

  3. Di Compile Sourcesbagian, periksa file yang dikeluhkan Xcode

  4. Perhatikan bahwa file memiliki path yang salah, dan hapus dengan mengklik ikon minus

  5. Tambahkan kembali file dengan mengklik ikon plus dan cari di proyek.

  6. Produk> Bersihkan Folder Bangun

  7. Membangun

Anda biasanya menemukan file yang hilang ini di Recovered Referencesfolder Xcode di pohon proyek (cari bilah pencarian di kiri bawah Xcode dan cari file keluhan Anda):

Menghapusnya dari folder ini juga dapat mengatasi kesalahan tersebut.

AnthonyR
sumber
1
Terima kasih! Kami memiliki referensi ke file yang dihapus. Menghapus referensi ini saja menyelesaikan masalah
Jason
Terkadang ketika saya mengganti nama dari dalam XCode, file di 'Finder' masih menyimpan nama lama. Temukan file di 'Finder' dan ganti namanya menjadi nama baru.
Tony
58

Bagi saya Di Xcode 10, Solusi ini bekerja dengan sangat baik. Cukup buka folder Referensi yang Dipulihkan dan hapus semua file dengan warna merah dan tambahkan lagi dengan referensi yang tepat.

masukkan deskripsi gambar di sini

Krishna Thakur
sumber
10
Saya tidak dapat menemukan "Referensi yang Dipulihkan" pada proyek saya
david m lee
4
Apa yang Anda maksud dengan "tambahkan lagi dengan referensi yang tepat" setelah kami menghapus file merah?
PrimeTimeTran
@PrimeTimeTran Maksud saya Anda dapat menambahkan referensi file tersebut lagi dalam proyek Anda, dengan drag and drop atau copy paste. Sama seperti menambahkan file baru dalam proyek.
Krishna Thakur
3
@davidmlee Saya pikir yang dimaksud orang ini dengan kata lain adalah: "buka semua folder Anda dalam proyek, hapus hal-hal merah, dan tambahkan lagi." Tidak perlu ada folder referensi yang dipulihkan.
bearacuda13
17

Ini berhasil untuk saya di Xcode 10:

  • Klik ikon / nama Proyek di proyek Xcode Anda
  • Buka tab Umum
  • Klik [Pilih File info.plist] di bawah bagian Identity
  • Pilih file info.Plist
  • Periksa tab Info untuk melihat apakah info.plist berhasil dimuat
  • Bangun dan jalankan
Mile Dev
sumber
15

Lucunya, menutup Xcode dan membukanya kembali mungkin juga cukup.

danielhadar
sumber
Saya juga menghapus data turunan, tetapi hanya menutup / membuka kembali mungkin sudah cukup.
Adam Johns
Saya pikir ini adalah cara Visual Studio untuk memperbaiki sesuatu ... tetapi berhasil untuk saya.
SEG.Veenstra
14

Solusi di atas akhirnya berhasil untuk saya; namun, saya perlu melakukan beberapa langkah tambahan untuk akhirnya membuatnya berhasil dikompilasi. (Langkah-langkah ekstra ini diperlukan bahkan di Xcode 9.)

  1. Xcode: File -> Workspace Settings -> Build System: Legacy Build System
  2. Xcode: Produk -> Bersihkan
  3. Putar untuk mengompilasi melalui jenis emulator yang berbeda, seperti "iPhone 8", "iPhone 8 Plus", dll. (Mungkin gagal atau mungkin tidak.)
  4. Kompilasi akhirnya di "Perangkat iOS Generik"
david m lee
sumber
Saya perlu melalui beberapa langkah ini untuk membuatnya berfungsi juga.
Liwen Zhao
13

Cukup periksa jalur ke file .plist di Build Settings target Anda

masukkan deskripsi gambar di sini

Tikhonov Alexander
sumber
Ya - Saya telah memindahkan plist ke folder terpisah. Saya pikir foldernya dulu virtual dan sekarang mereka nyata (folder biru / kuning tua). Apa pun alasannya, jawaban Anda tepat :-)
Peter
10

Saya memperbaiki masalah ini dengan cara ini: buka Fase Build proyek Anda (klik ikon proyek di bagian atas, lalu klik Build Phases). Cari file Anda di sana. Jika ada di sana (berwarna abu-abu), hapuslah. Kemudian bersihkan (shift + alt + command + k), dan jalankan! Semoga membantu.

Anastasiia Staiko
sumber
9

Jika kesalahan mengatakan tidak dapat menemukan Info.plist dan mencari di jalur yang salah , lakukan hal berikut:

  1. Pilih proyek Anda dari navigator, lalu pilih target Anda
  2. Pilih "Build Settings" dan cari "plist"
  3. Harus ada opsi bernama File Info.plist. Ubah lokasi ke lokasi yang benar.
dengan tajam
sumber
Jawaban ini juga berlaku jika Anda mengganti nama folder / struktur aplikasi Anda. Terima kasih @keverly
Lorem
5

Tak satu pun di atas berhasil untuk saya, tetapi ini berhasil:

  1. Buka proyek di Finder, klik kanan pada file .xcodeproj Anda dan tampilkan konten paket
  2. Buka project.pbxproj di editor teks
  3. Temukan referensi ke file Anda yang hilang
  4. Edit path = "path/to/file.swift"ke lokasi sebenarnya di disk dan simpan file.
  5. Buat ulang proyek
Ben Gomm
sumber
INI adalah salah satu yang memperbaikinya ... luar biasa
David Seek
Sama disini. Bagaimana kamu bisa tahu ini?
Peter Schorn
2

buka panel navigasi kanan tempat file proyek Anda berada ATAU klik JSUT pada cmd + 1 Kemudian cari Folder "Referensi yang Dipulihkan", buka semua file merah (hapus) maka semuanya akan bekerja dengan baik.

Ahmed Samir
sumber
2

Saya mengalami ini untuk membangun pengujian unit saya. Ini mungkin terjadi karena saya menghapus tes contoh.

Saya menghapus bundel tes Unit kemudian menambahkannya kembali seperti yang ditunjukkan pada gambar di bawah dan semuanya baik-baik saja.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Declan McKenna
sumber
2

Saya mengalami kesalahan ini setelah mengganti nama file. Entah bagaimana Xcode tidak mengganti nama file sebenarnya pada disk dengan benar.

Jadi tidak dapat menemukan file tersebut. Terkadang file disorot dengan warna teks merah. Di lain waktu, ikon Swift di depan file berubah menjadi abu-abu.

Cara mengatasinya sederhana.

  • Periksa kesalahannya dan lihat file mana yang tidak dapat ditemukannya.
  • Pilih file yang tidak dapat ditemukan.
  • Buka 'File Inspector'. Ini ada di panel navigasi kanan Xcode.
  • Klik pada ikon folder.
  • Pilih file yang benar.
  • Bersihkan build dan jalankan lagi.
Madu
sumber
1

Saya mengalami masalah serupa setelah meningkatkan ke versi swift baru baru-baru ini. Memindahkan file menyebabkan proyek xcode saya merujuk item yang tidak lagi ada di direktori proyek yang memberi saya Kode Kesalahan Build Input File Not Found.

Dalam situasi saya, saya entah bagaimana memiliki banyak file / gambar yang direferensikan seperti yang dijelaskan di bawah ini:masukkan deskripsi gambar di sini

Pada gambar di atas.

  • Arahkan ke halaman Target Anda.
  • Kemudian Klik pada tab Build Phases di bagian atas.
  • Gulir ke Bawah untuk Menyalin Sumber Daya Bundel
  • Temukan file yang terpengaruh dan hapus mereka. (tekan delete pada mereka atau pilih mereka dan tekan tombol minus)

Di sinilah saya memiliki banyak file dan gambar yang direferensikan dari folder lain dan build akan gagal karena mereka tidak dapat menemukannya lagi. Dan saya juga tidak dapat menemukannya! atau bagaimana Xcode masih mereferensikannya

Saya harap ini membantu orang lain !

Julian Silvestri
sumber
1

Saya memiliki masalah yang sama. Masalahnya adalah saya tidak memiliki file apa pun di bawah Target> Build Phases> Compile Sources. Masalahnya terpecahkan setelah saya menambahkan setidaknya satu file ke Compile Sources.

egabor
sumber
1

Bukan karena saya melakukan kesalahan, tetapi saya mengalami masalah ini karena alasan yang sama sekali berbeda dan agak tahu apa yang menyebabkan ini.

Saya sebelumnya menggunakan finder dan menyeret file ke direktori / folder proyek saya. Saya tidak menyeret ke Xcode . Untuk membuat Xcode menyertakan file itu ke dalam proyek, saya harus menyeretnya ke Xcode sendiri nanti.

Tetapi ketika saya beralih ke cabang baru yang tidak memiliki file itu (juga tidak perlu), Xcode memberi saya kesalahan ini:

File input build tidak dapat ditemukan: '/ Users / honey / Documents / xp / xpios / powerup / Model Extensions / CGSize + Extension.swift'


Saya memang membersihkan folder build dan menghapus data turunan saya, tetapi itu tidak berfungsi sampai saya memulai ulang Xcode saya.

Madu
sumber
1

Ini berhasil untuk saya

  1. coba hapus file berwarna merah
  2. hapus file dalam data turunan
  3. bersihkan folder build
  4. lalu coba buat dengan menggunakan "sistem build baru" dari file-> pengaturan ruang kerja
Aditya A. Rajan
sumber
1

Dalam kasus saya, file (dan direktori) yang disebutkan XCode salah, dan masalah mulai terjadi setelah Git bergabung dengan cabang yang relatif besar. Untuk memperbaikinya, saya melakukan langkah-langkah berikut:

  • Mencari file di sistem direktori XCode.
  • Menemukan file yang salah disorot dengan warna merah (misalnya, hilang).
  • Mengklik kanan pada file dan menghapus file tersebut.
  • Saya mencoba membuat kode saya lagi, dan voila, berhasil.

Saya harap langkah-langkah ini membantu seseorang.

Arka Mukherjee
sumber
0
  1. Pergi ke Xcode-> File -> Project Setting
  2. Ubah Sistem Bangun: - "Sistem Bangun Lama".
  3. Bersihkan, Bangun, dan tekan Jalankan.
Abimanyu Rathore
sumber
0

Apa yang dikeluhkan Xcode adalah file XIB yang saya kerjakan dengan membuka Project -> Build Phases -> Copy Bundle Resources, menghapus XIB yang "bermasalah", membersihkan (CMD + Shift + K), membangun dan menambahkannya kembali.

fredy
sumber
0

Ada juga satu kemungkinan bahwa terkadang saat Anda memindahkan file ke folder lain dan terutama saat Anda memindahkan info.plistke folder lain, Anda perlu menentukan lokasi file tersebut. Untuk mengatasi masalah ini, cukup klik ikon biru proyek Anda di bagian atas, dan Anda akan melihat tombol di tempat nama proyek dan id bundel, klik di atasnya dan cari info.plistfile di sana, bersihkan dan kompilasi dengan senang hati.

Syed Azeem Ahmed
sumber
0

Saya mengalami masalah ini segera setelah memutakhirkan ke Xcode 10, tetapi itu bukan masalahnya.

Saya mencoba mengubah sistem build, tetapi itu memberi saya kesalahan terpisah yang berarti hal yang sama. Umumnya mengatakan "File X tidak dapat ditemukan".

Ada beberapa hal yang perlu diperiksa ketika file tidak dapat ditemukan.

  1. Referensi yang dipulihkan Folder Apple melakukan hal yang menyenangkan ini di mana jika mendeteksi referensi ke file yang tidak ada itu akan menambahkan referensi ini ke dalam grup yang disebut "Referensi yang Dipulihkan"

Itu bagus dari Apple tetapi tidak selalu berhasil.

  1. Build Phases Compile Sources Dalam daftar ini, mungkin ada meta data untuk file yang seharusnya dikompilasi oleh proyek, tetapi file tersebut tidak benar-benar ada dan mencoba menemukan file di jalur yang diberikan. Dalam daftar ini itu akan diredupkan, menghapusnya dan menambahkannya kembali dengan mengubah ketergantungan target file atau secara manual menghapusnya dan menyeretnya masuk.

  2. Jalur File Periksa ulang jalur file di mana kesalahan sedang dicetak dan jalur file untuk file di finder. Anda dapat dengan mudah melihat ini dengan mengklik file di Xcode dan memeriksa tab "Show the file inspector" (tab paling kiri). Jika jalan ini benar maka Anda baik!

  3. Redupkan file dalam proyek Anda yang tidak ada dalam referensi yang dipulihkan atau merah Yang ini membuat saya kesal karena tidak jelas tentang apa yang terjadi, tetapi pada dasarnya jika Anda masuk ke finder dan memindahkan file ke lokasi lain tanpa memperbarui referensi dalam proyek itu akan membuang kesalahan karena file tidak ada lagi di sana. Satu-satunya indikasi yang saya temukan untuk itu adalah bahwa file di tab "Project Navigator" (tab paling kiri) sangat sedikit redup, tetapi ketika Anda menghapus file ini Xcode tidak meminta Anda untuk menghapus referensi atau mengirim ke sampah. Anda dapat memperbaikinya dengan menghapus file dan menambahkannya kembali ke proyek atau membuka tab "File Inspector" dan klik ikon folder di sebelah jalur dan ubah ke lokasi yang tepat.

Either way, kesalahan menunjukkan bahwa itu tidak dapat menemukan file, beralih ke sistem build lama adalah bandaid untuk masalah yang lebih konkret. Kami sebagai pengembang memahami bahwa kompilator hanya ingin artefak dicantumkan di akhir jalur file. Di suatu tempat, jalannya tidak benar! Kita harus menemukan tempatnya!

Masalah saya teratasi dengan item 4 yang tercantum di atas. Semoga ini bisa membantu seseorang.

A'sa Dickens
sumber
0

File> Pengaturan Proyek> Ubah Sistem Bangun ke Sistem Bangun Lama

Apurva Aggarwal
sumber
3
Sedikit penjelasan akan membantu
vik_78
0

Dalam kasus saya, saya secara tidak sengaja menghapus satu folder xcodeproj pihak ketiga yang saya gunakan di aplikasi saya.

sabiland
sumber
0

Jika Anda mencoba membuat profil, dan kemudian tidak berhasil, dan sekarang Anda tidak dapat membangun, masuk ke panel Target Anda (melalui Ikon Proyek), Beralih ke tab Pengaturan Bangun, cari PROFIL - dan setel CLANG_USE_OPTIMIZATION_PROFILE ke "Tidak".

Konchog
sumber
0

Dalam kasus saya, saya telah membuat target pengujian baru dan menghapus file swift default sehingga hanya tersisa info.plist. Menambahkan file baru memperbaiki ini.

Kwaku Eshun
sumber
0

Dalam kasus saya, saya memiliki skrip build yang menghasilkan biner .app (Buck). Skrip build Buck dijalankan secara paralel dengan langkah build Swift Embed. Karena biner .app belum dibuat, langkah Swift akan gagal.

Dalam skrip build saya, saya menambahkan di "$BUILD_PRODUCTS_DIR/$EXECUTABLE_PATH"bawah "Output Files".

Ini memberi tahu Sistem Bangun Baru Xcode bahwa skrip ini akan menampilkan Binary aplikasi dan pada gilirannya Xcode akan memastikan untuk menyinkronkan langkah-langkah pembuatan apa pun yang bergantung pada artefak ini.

masukkan deskripsi gambar di sini

Vlad
sumber