Saya mendapatkan kesalahan seperti ini:
[PERINGATAN] Peringatan: Beberapa perintah build untuk file output /Developer/B/Be/build/Release-iphonesimulator/BB.app/no.png
[PERINGATAN] Peringatan: Beberapa perintah build untuk file output /Developer/B/Be/build/Release-iphonesimulator/BB.app/d.png
[PERINGATAN] Peringatan: Beberapa perintah build untuk file output /Developer/B/Be/build/Release-iphonesimulator/BB.app/n.png
Tapi saya sudah memeriksa Xcode dan saya tidak melihat duplikat dari file seperti itu sama sekali. Seperti yang dikatakan oleh posting ini di Daftar Mailing Apple, tidak ada duplikat.
Ini mudah disebabkan ketika Anda menambahkan subproyek berbasis git. Xcode tidak cukup pintar untuk mengabaikan subfolder .git walaupun Anda tidak dapat melihatnya dari finder, jadi akan sangat membingungkan bahwa ada beberapa file bernama "master" atau "exclude", (file git repo standar). Dengan Xcode4, buka proyek (root dari pohon kiri) lalu klik target aplikasi Anda dan perluas "Salin Sumber Daya Bundel", lalu hapus semua referensi ke .git, toh Anda seharusnya tidak perlu memasukkannya ke dalam aplikasi Anda.
sumber
Sebenarnya, jawabannya cukup sederhana.
Dalam proyek Xcode Anda, cari file yang membangkitkan peringatan, dan hapus saja salah satunya.
Xcode hanya akan menampilkan satu referensi file itu di hasil pencarian, tetapi jangan berhenti di situ, lanjutkan dan hapus. (lebih baik membuat cadangan file proyek Anda sebelum menghapusnya)
Sekarang bangun proyek lagi. Peringatan itu seharusnya hilang sekarang. (jawaban ini untuk versi xcode sebelumnya)
sumber
Ini bukan bug Xcode, meskipun pesan peringatan tidak cukup membantu untuk menjelaskan penyebab sebenarnya.
Pesan kesalahan ini terjadi ketika Anda memiliki beberapa file di proyek Anda yang memiliki nama yang sama. Anda hanya perlu menghapus atau mengganti nama file dengan nama duplikat dan masalahnya selesai.
sumber
find . | grep -v \.git | rev | cut -d/ -f1 | rev | sort | uniq -c | sort
bagaimanapun, ini tidak menyelesaikan masalah sayaIni terjadi jika Anda memiliki 2 file dengan nama yang sama dalam proyek. Meskipun file dalam grup di XCode ketika proyek dikompilasi, semua file berakhir di direktori yang sama. Dengan kata lain jika Anda memiliki /group1/image.jpg dan /group2/image.jpg proyek yang dikompilasi hanya akan memiliki salah satu dari dua file image.jpg.
sumber
Seperti disebutkan sebelumnya, masalah ini dapat dilihat jika Anda memiliki beberapa file dengan nama yang sama, tetapi dalam kelompok yang berbeda (folder kuning) di navigator proyek. Dalam kasus saya, ini disengaja karena saya memiliki beberapa subdirektori masing-masing dengan "preview.jpg" yang ingin saya salin ke bundel aplikasi:
Dalam situasi ini, Anda perlu memastikan bahwa Xcode mengenali referensi direktori (ikon folder biru), bukan hanya grup.
Hapus file yang menyinggung dan pilih "Hapus Referensi" (jadi kami tidak menghapusnya sama sekali):
Tambahkan kembali mereka ke proyek dengan menyeret mereka kembali ke navigator proyek. Pada dialog yang muncul, pilih "Buat referensi folder untuk folder yang ditambahkan":
Perhatikan bahwa file sekarang memiliki ikon folder biru di navigator proyek:
Jika sekarang Anda melihat di bagian "Salin Sumber Daya Bundel" pada fase build target, Anda akan melihat bahwa ada satu entri untuk seluruh folder, daripada entri untuk setiap item yang terkandung dalam direktori. Kompiler tidak akan mengeluh tentang beberapa perintah build untuk file-file itu.
sumber
Ini bukan bug. Xcode assist dapat membantu Anda. Pilih target, ke kiri di Navigator proyek. Klik pada "Validasi pengaturan" di bagian bawah pengaturan. Xcode akan memeriksa pengaturan dan menghapus duplikat jika memungkinkan.
sumber
versi lain dari situasi ini dapat terjadi ketika ada duplikat di header fase membangun .
untuk memperbaiki ini ...
Build Phases
Headers
fase pembangunan+|-
kotak kotak di sudut kiri bawah-
tombolsumber
Dalam kasus saya masalah ini disebabkan oleh nama target dan folder yang sama di dalam grup.
Ganti nama file atau folder yang konflik untuk menyelesaikan masalah.
sumber
Saya menemukan solusi yang cukup mudah untuk ini:
Peringatan itu hilang! Periksa gambar ini untuk referensi.
sumber
Saya cukup yakin ini dapat disebabkan oleh bug XCode 4, setidaknya dalam kasus yang saya temui.
Ini terjadi jika Anda menambahkan beberapa file yang tergantung pada bahasa ke proyek pada saat yang bersamaan. Saya menemukan ini dengan melihat perbedaan git. Saya tidak melakukan apa pun di komit tetapi menambahkan beberapa file nib lokal baru. Tetapi melihat kembali perbedaan file project.pbxproj itu menunjukkan banyak referensi duplikat baru ditambahkan untuk file yang sudah ada dalam proyek sebelumnya. File-file yang melakukan ini juga tampak acak bagiku.
Saya mereproduksi perilaku yang persis sama ini beberapa kali.
Menghapus file-file ini dari proyek tidak memperbaiki masalah karena hanya menghapus referensi asli dan meninggalkan duplikat. Satu-satunya cara untuk memperbaikinya adalah dengan mengembalikan komit dan memulai kembali, atau tangan mengedit file proyek, yang merupakan cara yang sangat baik untuk mengacaukannya lebih sulit karena sulit untuk mengetahui duplikat mana yang harus dihapus dan Anda harus melakukannya dalam satu ton tempat yang berbeda.
Xcode 4 hanyalah kekecewaan besar bagi saya.
sumber
Ini terjadi karena ur "no.png" "d.png" dan "n.png" digandakan dalam sumber daya. Cari saja hapus file yang dipublikasikan dan hapus.
sumber
Kesalahan tampaknya muncul ketika Anda memiliki lebih dari satu referensi dari file yang sama. Saya memiliki 2 file dengan nama yang sama dan mendapatkan kesalahan ini. Ketika saya menghapus salah satunya kesalahan hilang ..
sumber
Namun variasi lain dalam masalah ini. Saya memiliki pesan yang sama muncul tidak ada solusi yang disarankan sebelumnya memecahkan masalah (saya pasti hanya punya satu salinan file yang menyinggung misalnya).
Solusi saya adalah mengedit file project.pbxproj dalam editor teks (setelah berhenti XCode dan membuat cadangan file tentu saja) dan menghapus semua referensi ke file yang menyinggung. Kemudian, setelah memulai XCode lagi, saya secara manual menambahkan file kembali ke proyek dan semuanya baik-baik saja.
(Kecurigaan saya adalah bahwa masalah ini terjadi pada saya karena manual, yaitu: non-XCode, penggabungan file proyek.)
sumber
Buka folder Frameworks di proyek Anda dan pastikan hanya ada frameworks di dalamnya. Saya menambahkan secara tidak sengaja seluruh folder Pengembang!
sumber
Saya memiliki masalah yang sama beberapa menit yang lalu. Saya telah menyebutkan bahwa mengubah 'target penyebaran' memperbaiki masalah saya.
sumber
Bagi saya Target> Pengaturan Bangun> Pengemasan> Nama Produk disetel ke hal yang sama dengan nilai lain yang dirujuk dalam file .plist yang khusus untuk aplikasi saya. Akhirnya karena proses pembangunan kami ini membuat file duplikat.
sumber
Cepat 3 : (tetapi juga versi yang lebih lama) itu terjadi ketika saya memiliki aset dengan duplikat. Ganti nama file dengan masalah ini dan semuanya berjalan dengan baik.
Itu bisa terjadi juga ketika Anda telah membuat
Assets.xcassets
dan Anda telah mengganti nama duplikat dengan nama baru jadi setelah waktu Anda lupa dan menghapusnya untuk menambahkan referensi folder tetapi yang satu ini kembali ke masalah file duplikat ..sumber
Salah satu cara sederhana adalah,
sumber
Kuncinya adalah melakukan
pod deintegrate
danrm *.workspace
mengajukan! Buang-buang waktu saja!sumber
Pengguna Bereaksi Asli. file goto -> pengaturan ruang kerja -> build system -> ubah ke legacy build system. dan itu harus dibangun dengan baik sekarang. React-Native belum kompatibel dengan sistem file baru.
sumber
Mengomentari use_frameworks! di PodFile bekerja untuk saya.
Catatan: Apakah ini di XCode 10.1, pod versi 1.8.4
sumber
Walaupun saya yakin ada cara yang lebih baik, nuking hanya membutuhkan waktu kurang dari 60 detik, dan satu-satunya hal yang saya temukan bisa berhasil.
git remote add <url.git>
, ataugit remote set-url <url.git>
sumber