Peringatan: Fase pembuatan Salin Kumpulan Sumber berisi file Info.plist target ini

270

Saya telah memisahkan proyek menjadi dua build dan memberikan masing-masing plistfile. Semuanya berfungsi dengan baik, tapi saya terus mendapatkan peringatan membangun ini:

Peringatan: Fase pembuatan Salin Kumpulan Sumber berisi file Info.plist target ini 'MyApp-Info.plist'

Saya mendapatkan ini ketika saya mencoba membangun MyApp. Membangun untuk target kedua memberikan kesalahan yang sama (dengan SecondTarget-Info.plistperingatan). Saya tidak yakin mengapa ini peringatan, karena saya ingin build berisi .plistfile itu. Setiap .plistfile memiliki satu keanggotaan target (untuk membangun mereka sendiri).

Apa artinya peringatan ini? Apakah ada cara untuk membuatnya pergi?

raja nevan
sumber
Anda tidak perlu menambahkan Info.plist ke setiap target. Alih-alih di setiap target Bangun Pengaturan -> Pengemasan -> File Info.plist -> lokasi ke target Info.plist
onmyway133

Jawaban:

595

https://developer.apple.com/library/content/qa/qa1649/_index.html

Kutipan:

Anda mendapatkan peringatan ini karena Anda mungkin menambahkan file Info.plist Anda ke fase build Copy Bundle Resources Anda seperti yang ditunjukkan pada Gambar

masukkan deskripsi gambar di sini

Pengaturan INFOPLIST_FILE build menetapkan nama Info.plist yang terkait dengan target Anda. Saat membangun target, Xcode membaca pengaturan build ini dan menyalin Info.plist yang dirujuk ke dalam bundel aplikasi Anda. Karena Xcode secara otomatis memproses Info.plist, Anda tidak boleh menambahkannya ke fase build Copy Bundle Resources Anda atau menjadikannya anggota target.

Untuk menyelesaikan peringatan ini, pilih Info.plist Anda dari fase build Copy Bundle Resource seperti yang ditunjukkan pada Gambar 1, lalu klik tombol Hapus (-) untuk menghapusnya dari fase.

JWWalker
sumber
Masalah apa yang akan terjadi jika ini tidak diselesaikan?
hasan
2
@ hasan83, Anda akan mendapatkan peringatan pembangunan, dan produk yang dibangun akan berisi salinan tambahan dari Info.plist yang menghabiskan sedikit ruang.
JWWalker
1
@ kraftydevil, apakah proyek Anda memiliki sub proyek, sehingga peringatan tersebut mungkin merujuk pada target selain dari yang Anda periksa?
JWWalker
5
Masih relevan, 7 tahun kemudian.
jungledev
1
Solusinya bekerja untuk saya di Xcode 9. @jungledev masih relevan karena Apple sibuk memperbarui versi Swift daripada mengembangkan Xcode untuk menunjukkan kepada kita solusi untuk kesalahan aneh nomor aneh sepanjang waktu.
MBH
65

Untuk memperbaikinya di xcode 4:

1) Hapus referensi ke file info.plist Anda dengan memilihnya dan tekan hapus.

2) Tambahkan file info.plist lagi tetapi pilih tidak ada tujuan dan hapus centang opsi "tambahkan ke target".

Buchannon
sumber
2
Saya melihat sekarang bahwa TIDAK menghapus centang "tambahkan ke target" ketika menyalin file plist ke proyek saya adalah alasan saya mendapatkan masalah ini. Untuk memperbaiki masalah, saya mengikuti langkah-langkah dalam "jawaban yang benar" di atas meskipun menghapus dan menambahkan kembali tanpa menambah target akan berhasil juga. =)
RanLearns
1
Ini bekerja untuk saya di Xcode 6.4. Jawaban yang dipilih tidak.
kraftydevil
2

Jika ada orang yang mengalami hal ini dengan Xcode 3, untuk memperbaikinya klik pada file .plist di kolom kiri di bawah "Groups and Files", dan di area kanan atas, hapus centang pada kotak di sebelah nama file .plist di kolom di bawah ikon bullseye. Anda akan memerlukan editor yang diperbesar (Lihat -> Zoom Editor Keluar) untuk menampilkan kotak centang.

Marc
sumber
0

Solusi lain adalah:

Anda mungkin secara tidak sengaja menghapus file proyek dari data inti "target membership".

  1. Pilih Main.storyboard Anda dari navigator proyek di sebelah kiri

  2. Buka "file inspector" (tab pertama) di sebelah kanan

  3. Temukan daftar "Target Membership"

  4. Aktifkan kotak centang

  5. Berikan sedikit waktu untuk diproses, tetapi saat Anda melakukannya, periksa juga LaunchScreen.storyboard, .xcdatamodelid, Assets.xcassets, dan semua file .swift di proyek Anda. Mereka semua harus diaktifkan untuk keanggotaan target.

  6. Catatan: Info.plist seharusnya tidak mengaktifkan keanggotaan target yang diperiksa.

Semoga ini membantu.

CrazyOne
sumber
-2

Sama seperti catatan ... Saya akan mencoba untuk menulis Radar yang bagus tentang itu, tapi itu sangat aneh cara lokalisasi ditangani di Storyboards di Xcode. Jika Anda bertanya "Show in Finder", Anda tidak akan melihat file .storyboard Anda yang dipilih, tetapi foldernya yang mengandung. Saya pikir itu ada hubungannya dengan Pelokalan Storyboard. Segera setelah saya mengubahnya dari Bahasa Inggris ke Bahasa Jerman (dan karena itu tidak memiliki file lagi di root atau en.lproj), saya mulai mengalami masalah.

StuFF mc
sumber