Bangun aplikasi dengan Xcode 4 - selalu menampilkan beberapa kesalahan tentang gambar PNG

88

Ketika saya membangun aplikasi saya dengan Xcode 4, itu selalu menampilkan pesan kesalahan ini:

CopyPNGFile /Users/michaelchen/Library/Developer/Xcode/DerivedData/iMusicBox-boeawugacmhacbdtyymnprzfobyq/ArchiveIntermediates/iMusicBox/InstallationBuildProductsLocation/Applications/iMusicBox.app/list_cell.png Images/list_cell.png
    cd /Volumes/WORK/Works/iMusicBox
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    "/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS Build System Support.xcplugin/Contents/Resources/copypng" -compress "" /Volumes/WORK/Works/iMusicBox/Images/list_cell.png /Users/michaelchen/Library/Developer/Xcode/DerivedData/iMusicBox-boeawugacmhacbdtyymnprzfobyq/ArchiveIntermediates/iMusicBox/InstallationBuildProductsLocation/Applications/iMusicBox.app/list_cell.png

Saat memeriksa alfa di /Volumes/WORK/Works/iMusicBox/Images/list_cell.png pngcrush menangkap kesalahan libpng: Data gambar tidak cukup

tapi Tidak apa-apa dengan Xcode 3.2 - mengapa?

Michael Chen
sumber

Jawaban:

191

Menemukannya!!

Anda harus menyimpan file PNG Anda sebagai TIDAK TERKAIT . Coba buka file di photoshop (atau yang serupa), simpan sebagai, dan pilih "Not interlaced".

Ini bekerja dalam kasus saya

semoga ini membantu

Eva Madrazo
sumber
Eva, kamu benar, terima kasih! Saya mengekspor dari web di pixelmator dan tidak apa-apa.
Michael Chen
6
pria! Terima kasih Tuhan! dan kau! Saya akan pergi ke atap untuk membuang laptop bodoh saya dari sana ketika saya melihat jawaban ini dan berhasil. Terima kasih banyak. Saya kira waktunya untuk tidur sekarang.
Sahil Chaudhary
7
Dalam kasus saya, ternyata saya memiliki beberapa referensi ke file yang sama di Xcode (ini mungkin berarti mencoba memproses file lebih dari satu kali?) Menghapus referensi duplikat menghilangkan masalah.
Peter Johnson
Saya menyimpan png saya sebagai NOT INTERLACED, masih mendapatkan kesalahan ini saat membangun pertama kali, tetapi kedua kali saya membangun, kesalahan ini hilang ...
Jing
23

Itu terjadi ketika Anda memiliki banyak entri untuk file gambar di file proyek Anda. Saya tidak tahu mengapa tetapi saya baru saja menghapus semua entri, memuat ulang proyek dan menambahkan file lagi.

pisang
sumber
Hmm, apakah Anda yakin mendapatkan pesan kompilator yang sama dari memiliki doublettes?
Brainray
8
Ini juga masalahku. Gambar Peluncuran Saya di mana menyebabkan masalah. Secara default, XCode telah menambahkan gambar hitam di folder File Pendukung saya, lalu saya menambahkan lebih banyak, tetapi gambar hitam tidak hilang. Jika pemegang gambar Peluncuran berwarna hitam, itu berarti ada gambar di proyek Anda untuk itu. Hapus gambar hitam dan masukkan gambar yang benar. Lakukan itu dan sekarang semuanya baik-baik saja!
dbDev
15

Periksa apakah Anda tidak memiliki entri duplikat di "Fase Build" Target -> "Salin Sumber Daya Bundel"

Yohann T.
sumber
untuk orang lain yang bahkan tidak memiliki gambar dalam proyek mereka ... solusi ini adalah satu-satunya dari semua jawaban yang berhasil. Saya tidak memiliki gambar, tetapi saya menggunakan Facebook SDK dan saya harus menghapus apa pun yang berwarna merah di Build Phases-> Copy Bundle Resources.
Jeff Grimes
9

Ini mungkin pengaturan "Kompres File PNG" (dari bagian Pengemasan pada Pengaturan Build).

Saya mengatasi kesalahan ini dengan mengalihkannya ke "Tidak".

matahari terbenam
sumber
6

Dalam kasus saya, saya menemukan png saya yang rusak tidak terbuka di photoshop. Saya membuka di pratinjau, disimpan sebagai psd, dan kemudian disimpan lagi dari photoshop (save-as -> png -> not-interlaced). Kompilasi dengan baik sekarang di xcode 4.

jaime
sumber
5

Coba cari dan simpan kembali file * .PNG ini menggunakan "Preview" , tepatnya: File - Export ... - "save as PNG" . Menurut saya, hal itu terjadi ketika Anda menyimpan gambar di Photoshop dengan mode "Save for Web" dan setelah gambar ini akan disimpan dengan kompresi khusus (LZW) . Sekian, semoga berhasil!

Resty
sumber
3

Sepertinya file PNG Anda list_cell.pngrusak. Xcode 4 melakukan lebih banyak pemeriksaan daripada Xcode 3 di banyak area dan mengungkapkan masalah yang telah mengintai proyek Anda sepanjang waktu.

Sudahkah Anda mencoba membuka file PNG Anda di editor gambar dan menyimpannya lagi?

Codo
sumber
1
Ya, saya sudah membukanya di Pratinjau, tidak apa-apa. dan saya mencoba menyimpannya lagi tetapi kesalahan masih muncul.
Michael Chen
Jangan hanya membukanya di Pratinjau. Mungkin juga mencoba untuk mengatasi kesalahan pada gambar. Buka dengan aplikasi yang dapat mengedit gambar dan menyimpan gambar versi baru.
Codo
3

Dalam kasus saya, saya memecahkan masalah dengan menghapus "spasi-kunci" kosong di folder / nama file.

Semoga ini berhasil untuk seseorang juga.

inox
sumber
2

Milik saya tidak terjalin tetapi saya terus mendapatkan kesalahan aneh dari pngcrush. Akhirnya saya menghapus file tidak hanya disk tetapi melalui Xcode. Saya menambahkannya kembali satu per satu dengan drang-and-drop ke XCode, membangun setelah masing-masing, berharap untuk mencapai salah satu yang memiliki masalah. Saya tidak pernah. Kesimpulan saya adalah bahwa Anda benar-benar perlu memanipulasi file dari Xcode dan bukan sistem file sama sekali.

hofo
sumber
2

dalam kasus saya dengan xcode 4.5, masalah diselesaikan dengan pemberian izin dengan terminal

chmod -R + rw / jalur proyekAnda / folder proyekAnda

ini mungkin bukan solusi terbaik karena mengunci file dengan file sharing. Tapi akan dilakukan jika Anda sedang terburu-buru.

Balázs Csordás
sumber
2

Saya harus menghapus referensi ke PNG dan menambahkannya ke proyek lagi. Ada yang punya solusi yang lebih baik?

Alex L.
sumber
1

Saya harus menghapus file png dan kemudian pergi ke Target -> AppName -> Build Phases -> Bundle Resources dan hapus file dari sana juga.

zirinisp
sumber
1

Saya mendapat kesalahan yang sama. Ternyata png saya di mana sebenarnya jpeg. XCode menunjukkannya dengan benar tetapi perangkat iOS tidak. Selesaikan dengan menyimpan jpg sebagai png.

OnTwoWheels
sumber
1

Kesalahan ini terjadi karena Anda memiliki gambar dalam sumber daya yang lebarnya atau tingginya lebih kecil dari 5 piksel dan Anda mencoba mengubah ukuran gambar itu. Atur semua gambar ke minimum 5 piksel dan kesalahan menghilang.

kuno
sumber
Inilah yang terjadi pada saya, ini memperbaikinya.
Baja Daur Ulang
1

Ikuti langkah-langkahnya:

 1. Take an image. 

 2. Rename it to the showing error png's name. 

 3. Drag it back to the Xcode.
tasnim ahmed
sumber
jawaban saya harus lebih deskriptif
Nimit Dudani
0

Dalam kasus saya, saya harus menghapus semua file PNG dari folder dan kemudian menambahkan kembali file-file itu lagi tanpa drag-and-drop gambar ke Xcode UI (di bawah Launch Images). Yang terakhir adalah kunci dalam kasus saya, pertama menambahkan file ke folder dan kemudian menyeretnya ke UI entah bagaimana menyebabkan duplikat yang mengacaukan semuanya. Cobalah jika tidak ada yang berhasil untuk Anda.

Jonathan
sumber
0

Saya memiliki masalah yang sama. Saya menyelesaikannya dengan menghapus gambar duplikat. Lihat di folder yang berbeda. Itu masalah saya.

Javier Roberto
sumber
0

Saya memecahkan kesalahan ini, itu muncul ketika Anda mengganti nama gambar setelah dimasukkan ke dalam proyek, jadi untuk mengatasi masalah ini pertama-tama harus menghapus gambar saat ini, mengganti nama file dari finder dan kemudian menyalin gambar ini ke dalam proyek.

kakashy
sumber
0

Semoga bisa membantu Anda. Periksa Alpha Channelproperti seperti yang ditunjukkan pada tangkapan layar terlampir. Seharusnya YESjika itu NO.

masukkan deskripsi gambar di sini

Ashvin Ajadiya
sumber
0

Semoga bisa membantu Anda. Periksa Alpha Channelproperti seperti yang ditunjukkan pada tangkapan layar terlampir. Seharusnya YESjika itu NO.

masukkan deskripsi gambar di sini

Ashvin Ajadiya
sumber
0

Eva Madrazo memposting jawaban yang benar (setidaknya untuk masalah dengan PNG yang saling terkait), tetapi bagi mereka yang mengalami masalah ini dengan banyak gambar seperti yang saya lakukan, Anda dapat menggunakan mogrify secara rekursif untuk menghapus setiap file sekaligus.

find ./ -name "*.png" -exec mogrify -interlace none {} \;

Mengubah metode interlace tampaknya tidak memengaruhi kualitas gambar, tetapi memengaruhi ukuran gambar, tidak ada yang akan memberi Anda gambar yang lebih kecil.

Mogrify hadir dengan ImageMagick dan Anda dapat menginstalnya dengan homebrew.

Douglas Schmidt
sumber
0

Kesalahan:

Saat membaca / Volume / Mac OS / RDC / Workpot / RestApp / RestApp / default1024_768.png pngcrush menangkap kesalahan libpng: Bukan file PNG ..

Larutan:

  1. Saya telah membuka "default1024_768" file di kuas alat dan berkas saveAs PNG dengan nama yang sama.
  2. Mengganti file Ikon dalam proyek Xcode.
  3. Bersihkan -> Bangun

Itu Semua pekerjaannya seperti pesona

Semoga ini bisa membantu seseorang.

swiftBoy
sumber