galat: Beberapa perintah menghasilkan '/ Pengguna /ues / Perpustakaan / Pengembang / Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist' memiliki perintah 'Target': '/Pengguna/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist' to '/ Users / uesr / Library / Developer / Xcode / DerivedData / OptimalLive-fxatvygbofczeyhjsawtebkimvwive / Build / iphone / Opt / / .app / Info.plist '2) Target' OptimalLive 'memiliki perintah penyalinan dari' / Pengguna /uesr / Desktop / workSpace/SEALIVE/SeaLive1.1/OptimalLive/Server/Masonry/Info.plist 'to' / Users / uesr / Perpustakaan / Pengembang / Xcode / DerivedData / OptimalLive-fxatvygbofczeyhjsawtebkimvwx / Build / Produk / Debug-iphoneos / OptimalLive.app / Info.plist '3) Target' OptimalLive 'memiliki perintah proses dengan input '/ Pengguna /uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist'
Menjalankan kode di Xcode9 berfungsi, tetapi ada kesalahan di Xcode10.
sumber
Jawaban:
Masalah ini mungkin terjadi karena beberapa Plist atau file lain dalam App-
Solusi -> Buka target -> Bangun fase> Salin Sumber Daya Bundel dan hapus
info.plist
dari sana.Catatan: Jika Anda telah mengembangkan aplikasi arloji juga maka Anda harus menghapus plist dari arloji dan ekstensi arloji juga.
sumber
info.plist
file di salah satu dependensi CocoaPods pribadi saya yang sedang diambil karena dicocokkan dengansource_files
properti podspec . Saya tidak membutuhkaninfo.plist
file dalam modul saya, jadi saya hanya menghapusnya.Saya menemukan solusi untuk galat build ini, untuk siapa pun yang memiliki masalah yang sama dengan sistem build Xcode 10, ikuti langkah-langkah berikut untuk memperbaikinya:
Ini akan menyelesaikan masalah build dengan Xcode 10 baru.
Jika Anda ingin bekerja dengan sistem build baru, maka Anda dapat menemukan bantuan pemecahan masalah dari halaman bantuan apple Xcode ini .
Semoga ini membantu!
sumber
Pergi ke Xcode -> File -> Pengaturan Workspace. Anda akan menemukan satu pop up suka.
Pilih " Legacy Build System " dari tag Build System. Tekan pada " Selesai "
Catatan: - Pastikan hapus proyek Anda dengan " cmd + shift + alt + k " dan " Derived Data "
Bangun proyek Anda itu akan bekerja pesona :)
sumber
Coba ini juga. Xcode-> File-> Pengaturan Proyek-> Build System -> Legacy Build System.
sumber
Jika Anda mendapatkan ini dari
Ditto
perintah yang membuat banyak instance dengan nama yang sama (BUKAN'copy files' build phase
), Anda mungkin harus mengubahProduct Module Name
.Build Settings
Product Module Name
Kami memiliki target tontonan dan beberapa target pemberitahuan di aplikasi kami, jadi saya hanya menempatkan hal-hal seperti
Extension
di akhir nama modul.Saya menemukan solusi ini awalnya di sini: https://forums.developer.apple.com/thread/103913
sumber
All
di sebelah kanan tempat Anda mencari untukProduct Module Name
membuat konfigurasi yang ditampilkan.Saya sedang bereksperimen dengan Data Inti. Saya membangun model data untuk program checklist sederhana dan menghasilkan NSManagedObjects. Ketika saya mengkompilasi proyek saya mendapat kesalahan berikut:
Masalahnya adalah model data (CheckList.xcdatamodeld dalam kasus saya) ada di daftar "Sumber Kompilasi". Proyek dikompilasi dengan bersih ketika saya menghapusnya dari daftar.
EDIT
Sebagai @WilliamT. menjelaskan dalam komentar, Anda memerlukan xcdatamodeld dalam daftar kompilasi. Sebagai gantinya, buka entitas Anda di dalam file xcdatamodeld. Pilih model yang salah, perluas panel kiri, dan ubah bidang "Codegen" menjadi "Manual / None".
sumber
Saat memeriksa log pembangunan, saya melihat peringatan:
Jadi, jika itu kasus Anda, maka pergilah ke target Anda:
info.plist
.sumber
Jika Anda menggunakan CocoaPods, Anda mungkin ingin mencoba mendegradasi pod dan menginstalnya lagi. Ini bekerja untuk saya.
pod deintegrate
pod install
sumber
Coba ini Bekerja:
Dalam Xcode, buka File-> Project / Workspace settings.
Ubah sistem build ke sistem Legacy Build.
sumber
Baca jawaban ini jika pesan kesalahan merujuk file Data Inti
Sinopsis: Anda mungkin memiliki file kelas objek yang dikelola secara otomatis dan buatan Core Data yang dihasilkan secara manual.
Jawaban ini berlaku jika baris pertama kesalahan merujuk ke file Foo + CoreDataProperties.o atau Foo + CoreDataClass.o . Contoh:
error: Multiple commands produce '/Users/me/Library/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/ MyApp /Debug-iphonesimulator/ MyApp.build/Objects-normal/x86_64/Foo+CoreDataProperties.o':
1) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files
2) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files
Penyebab root dapat dilihat dengan memperluas bagian Compile Swift Source Files dari Build Transcript. Sebagai contoh:
<unknown>:0: error: filename "Address+CoreDataClass.swift" used twice: '/Users/myUserName/Projects/Jnky/Foo+CoreDataProperties' and '/Users/jk/myUserName/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/MyApp.build/Debug/MyApp.build/DerivedSources/CoreDataGenerated/Jnky/Foo+CoreDataProperties.swift'
File pertama yang disebutkan ada file sumber di direktori proyek Anda, yang dihasilkan oleh seseorang dengan memilih model data Anda di Project Navigator dan mengklik menu Editor > Buat Subclass Obyek yang Dikelola . Fitur ini ditambahkan dalam Xcode 7 atau lebih.
File kedua adalah file dengan nama yang sama tetapi yang dimakamkan di Xcode
DerivedData
. File ini dihasilkan secara otomatis oleh Xcode selama setiap build jika file data model (.xcdatamodeld
) termasuk dalam fase build Compile Sources target . Fitur ini ditambahkan dalam Xcode 9 atau lebih. Nol, satu atau dua file dihasilkan untuk setiap entitas / kelas, tergantung pada pengaturan popup Codegen . Munculan itu ada di Inspektur Model Data ketika Anda memilih entitas saat mengedit model data Anda ...Pengaturannya adalah:
Jadi Anda melihat masalah terjadi ketika pengembang (seperti saya) yang terbiasa dengan Xcode yang lebih lama memulai proyek dalam Xcode yang lebih baru. Kami berpikir bahwa kami perlu menggunakan item menu Buat Subjek Obyek yang Dikelola , yang kami lakukan, untuk membuat file yang dapat kami lihat di Project Navigator sambil tidak menyadari bahwa pengaturan kami di popup Codegen menyebabkan Xcode membuat file duplikat, yang oleh Apple "cerdik" tidak muncul di Navigator Proyek, karena mereka tidak percaya pengembang untuk membaca dan mengindahkan komentar di header // File ini secara otomatis dihasilkan dan tidak boleh diedit.
Solusi 1 - Gunakan Cara Lama
Anda dapat menonaktifkan semua Codegen otomatis untuk model data hanya dengan satu pengaturan:
.xcdatamodeld
file).Solusi 2 - Core Data Magic Untuk Pemula
Di sini, Anda melakukan semuanya dengan cara yang lebih baru.
Dengan solusi ini, definisi kelas Anda dihasilkan secara otomatis dari model data pada setiap build. Anda bahkan tidak bisa melihatnya. Ini adalah Core Data Magic , bagus dan sederhana untuk pemula.
Solusi 3 - Untuk Sebagian Besar Aplikasi Dunia Nyata
Tetapi Solusi 2 tidak baik jika Anda benar-benar ingin menambahkan properti yang tidak dikelola. (Objective-C tidak memungkinkan properti ditambahkan dalam kategori, dan Swift tidak mengizinkan properti tersimpan ditambahkan dalam ekstensi.) Jadi di sebagian besar aplikasi dunia nyata, Anda mungkin ingin setengah jalan antara Solusi 1 dan 2 ...
(Ucapan terima kasih atas jawaban oleh Positron. Jawaban saya di sini menjelaskan mengapa jawaban Positron (Solusi saya 1) berfungsi, dan menambahkan Solusi 2 dan Solusi 3.)
sumber
Salah satu opsi yang memecahkan masalah saya adalah mengubah sistem build menjadi sistem build lawas. Ikuti langkah-langkah berikut dalam Xcode 10+.
Di sini saya telah menulis artikel terperinci tentang masalah & solusinya. Kesalahan Xcode: Beberapa perintah menghasilkan
sumber
Dalam kasus saya PDFGenerator membuat file info.plist, saya baru saja menghapusnya.
sumber
Saya memiliki masalah yang sama, saya memiliki satu aplikasi pembantu lagi di Aplikasi utama dan menyalinnya di sumber daya. Dalam kasus saya dipecahkan sebagai: -
1) Target -> 2) Membangun Fase 2) Salin File (n item) 3) Hapus Salin File.
Aplikasi Helper secara otomatis disalin dalam Xcode 10.0.
sumber
Tidak ada solusi yang diusulkan di sini yang berfungsi untuk saya. Ini terutama karena CocoaPods. Saya sebelumnya menggunakan Cocoapods 1.3.1. Cukup memutakhirkan ke 1.5.3 tidak langsung menyelesaikan masalah.
Langkah-langkah yang saya ikuti adalah:
pod install
sumber
install! 'cocoapods', :disable_input_output_paths => true
di bagian atas podfile saya. Selain itu, jika Anda tidak ingin memperbarui pod Anda - jangan hapus podfile.lock dan semua pod akan diinstal pada versi mereka saat ini.Sebelum saya mulai perhatikan bahwa proyek saya menggunakan Carthage sebagai manajer dependensi.
Tidak ada jawaban yang ada di sini yang menyelesaikan masalah saya. Apa yang menyelesaikan masalah bagi saya adalah sebagai berikut.
Pertama, saya perhatikan bahwa kesalahan pembangunan menunjukkan satu kerangka kerja tertentu. Selanjutnya saya memfilter Target Aplikasi> Bangun Fase untuk kerangka kerja itu. Saya perhatikan bahwa framework itu hadir di "Link Binary With Libraries" dan "Embed Frameworks". Memperhatikan bahwa tidak ada kerangka kerja yang tercantum dalam "Kerangka Kerja Embed" yang dikelola oleh Carthage, saya menghapus kerangka kerja yang dimaksud dari "Kerangka Kerja Sematan". Saya kemudian membangun kembali proyek saya dan semuanya berfungsi dengan baik termasuk fungsi yang diaktifkan oleh kerangka kerja yang dimaksud.
sumber
Langkah:
sumber
Coba semua opsi ini, siapa pun dari 3 opsi ini akan bekerja untuk Anda, pasti
sumber
Jadi masalah yang saya alami adalah bahwa saya tidak sengaja memasukkan Info.plist dalam pengaturan proyek -> Build Phases -> Salin Sumber Daya Bundel untuk target saya.
sumber
Masalah ini muncul untuk saya setelah menambahkan bagian kedua dari rangkaian Fabric SDK ke aplikasi.
Apa yang sebenarnya terjadi adalah bahwa GoogleUtilies Framework ditambahkan dua kali ke proyek Pods
Ini akan baik-baik saja sebelum Xcode 10 tetapi Xcode 10 akan mengeluh jika file memiliki dua tindakan menentangnya (dalam hal ini tindakan salin).
Aman untuk menghapus kerangka kerja kedua.
sumber
Berikut ini solusi lain yang berfungsi: (Jika Anda menggunakan Pods khusus)
sumber
Saya punya banyak
Multiple commands produce
peringatan - tidak terbatas pada duplikasi info.plist dalam satu target. Termasuk sumber daya lokal dan file string, header dll.Solusi: hapus semua duplikasi dalam keanggotaan target.
sumber
Saya memiliki masalah ini ketika saya memiliki file dengan nama yang sama di dua target yang berbeda. Untuk beberapa alasan, salah satu file itu saya punya bagian dari kedua target. Jadi pada dasarnya saya punya dua file. Dan kedua file tersebut milik satu target.
Masuk akal bahwa target hanya dapat memiliki satu nama file per target, jadi cukup hapus centang pada kotak anggota target untuk file yang tidak terkait dengan target utama menyelesaikan masalah.
sumber
Saya menggunakan Carthage dan Xcode 10.
Solusi saya adalah -> Proyek -> Target -> Umum ->
Hapus Kerangka ditambahkan dengan Kartago dari "Binari Tertanam"
biasanya kamu harus menambahkan skrip dalam Build Phases untuk menghapus arsitektur untuk app store.
Dalam Xcode 10 skrip sepertinya selalu dipanggil. Jadi itu menyalin kerangka kerja ke tempat yang tepat dan Anda tidak perlu menambahkannya ke Tab Umum.
Catatan: jika tidak disetel -> dalam Pengaturan Bangun -> Jalur Pencarian -> Path Pencarian Paths -> setel path ke Framework u ditambahkan dengan Carthage .... misalnya. "$ (PROJECT_DIR) / Carthage / Build / iOS"
sumber
Perlu dicatat bahwa kesalahan ini dapat dihasilkan setelah generasi otomatis model CoreData di mana Codegen tidak diatur ke Manual / None.
Untuk memperbaikinya dalam Xcode 10 klik dua kali pada file xcdatamodeId Anda dan pilih masing-masing entitas Anda dan atur Codegen ke Manual / None di bawah Class di Inspektur Model Data Anda.
sumber
Punya masalah serupa tetapi dengan file .swiftdoc.
Saya memiliki ekstensi dan target uji unit dalam proyek. Dan mereka memiliki "Nama Modul Produk" yang sama (PRODUCT_MODULE_NAME dalam Pengaturan Bangun) sebagai aplikasi. Setelah membuat nama masalah unik hilang.
sumber
Pindah ke Xcode 10, suka kesalahan
dapat diselesaikan sebagai berikut:
Pergi ke
Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build System
.sumber
Masuk ke Tahap Pembangunan Proyek dan Hapus info.plist dari Sumber Kompilasi. Ini akan menghapus masalah itu dan proyek akan aktif kembali.
sumber
Salah satu CocoaPods saya terpukul dan menyebabkan masalah. Apakah pembaruan pod dan itu berfungsi dengan baik.
Saya percaya itu mungkin LivePerson SDK
sumber
Masalah saya adalah Xcode 10 dijalankan di Mojave, dan ketika mencoba menjalankan unit test yang saya tulis sebelum memperbarui ke XCode 10.
Dalam kasus saya, saya mengalami masalah ini saat menjalankan
TestTarget
target saya . Untuk menyelesaikannya, saya harus:TestTarget > build phases > Target Dependencies
)karena saya memiliki dua target lain selain saya
TestTarget
dan keduanya menjalankan skrip yang sama dan membuat / menyalin file pada titik tertentu.Dan itu bertentangan dengan apa yang disebutkan di Build System Release Notes untuk Xcode 10 di sini :
PEMBARUAN Baru setelah saya memperbarui dari Xcode 10.1 ke 10.2
Masalah serupa muncul lagi setelah saya memperbarui ke Xcode 10.2. Saya memiliki beberapa target berdasarkan proyek:
Target1
danTarget2
, dan saya memecahkan masalah ini dengan:Edit Scheme > Build
danTarget1
bawahTest
karena saya tahuTarget2
diimporTarget1
Yang perlu diperhatikan di sini,
Target2
kotak centangnya tetap dicentangTest
sumber
Ada 2 solusi berbeda untuk menghilangkan masalah ini:
Solusi 1
Seperti yang dapat kita lihat, saya mendapatkan kesalahan yang sama .. dalam kasus saya ada salinan tambahan folder Chat21Core di folder TildeskWidget .. Ini menciptakan masalah .. Jadi salah satu solusi yang mungkin dapat juga hanya membaca kesalahan sepenuhnya dan coba cari apakah ada salinan tambahan yang dirujuk dari proyek atau tidak.
Solusi 2
Solusi sederhana lain yang saya temukan ketika saya menghadapi masalah yang sama untuk proyek yang berbeda. Kali ini saya harus menerapkan solusi yang berbeda.
pod deintegrate
dari proyek.pod install
dan cobalah untuk membangun proyek.Semoga ini bisa bekerja untuk Anda ..
sumber