Xcode 4 ile uygulama oluşturun - her zaman PNG görüntüsüyle ilgili bazı hatalar gösterir


88

Uygulamamı Xcode 4 ile oluşturduğumda her zaman şu hata mesajını gösteriyor:

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

/Volumes/WORK/Works/iMusicBox/Images/list_cell.png içindeki alfaları kontrol ederken pngcrush libpng hatasını yakaladı: Yeterli resim verisi yok

ama Xcode 3.2 ile sorun yok - neden?

Yanıtlar:


191

Buldum !!

PNG dosyalarınızı ARA YERLEŞTİRİLMEDİ olarak kaydetmelisiniz . Dosyayı photoshop'ta (veya benzeri) açmayı deneyin, farklı kaydedin ve "Taramasız" seçeneğini seçin.

Benim durumumda çalışıyor

Bu yardımcı olur umarım


Eva, haklısın, teşekkürler! Web'den pixelmator'da dışa aktarıyorum ve sorun değil.
Michael Chen

6
adam! tanrıya şükür! ya sen! Bu cevabı gördüğümde aptal dizüstü bilgisayarımı oradan atmak için çatıya çıkmak üzereydim ve işe yaradı. Çok teşekkürler. Sanırım şimdi uyku vakti.
Sahil Chaudhary

7
Benim durumumda, Xcode'da aynı dosyaya birkaç referansım olduğu ortaya çıktı (bu muhtemelen dosyayı birden fazla işlemeye çalıştığı anlamına mı geliyordu?) Yinelenen referansın kaldırılması sorunu ortadan kaldırdı.
Peter Johnson

PNG'mi INTERLACED DEĞİL olarak kaydettim, ilk kez oluştururken hala bu hatayı alıyorum, ancak ikinci kez oluşturduğumda bu hata gitti ...
Jing

23

Bu, proje dosyanızdaki görüntü dosyası için birden fazla girişiniz olduğunda gerçekleşir. Neden olduğuna dair hiçbir fikrim yok ama tüm girişleri kaldırdım, projeyi yeniden yükledim ve dosyayı tekrar ekledim.


Hmm, dubletlere sahip olduğunuz için aynı derleyici mesajını aldığınızdan emin misiniz?
brainray

8
Bu benim de sorunumdu. Sorunlara neden olan Başlatma Görüntülerim. Varsayılan olarak, XCode Destekleyici Dosyalar klasörüme siyah resimler eklemişti, sonra daha fazlasını ekledim, ancak siyah olanlar kaybolmadı. Başlatma görüntüsü tutucusu siyahsa, projenizde bunun için bir görüntü olduğu anlamına gelir. Siyah resimleri kaldırın ve doğru olanları getirin. Bunu yaptım ve şimdi her şey yolunda!
dbDev

15

Hedefin "Oluşturma Aşaması" -> "Paket Kaynaklarını Kopyala" bölümünde çift girişler olmadığından emin olun.


Projesinde görüntüsü bile olmayan herkes için ... bu çözüm, işe yarayan tüm cevaplardan tek oldu. Görüntülerim yok, ancak Facebook SDK kullanıyorum ve Yapı Aşamaları-> Paket Kaynaklarını Kopyala'da kırmızı olan her şeyi silmem gerekiyordu.
Jeff Grimes

9

Bu, "PNG Dosyalarını Sıkıştır" ayarı olabilir (Yapı Ayarlarının Paketleme bölümünden).

Bu hatayı "Hayır" olarak değiştirerek çözdüm.


6

Benim durumumda, bozuk png'min photoshop'ta açılmayacağını keşfettim. Önizlemede açtım, psd olarak kaydettim ve sonra tekrar Photoshop'tan kaydettim (farklı kaydet -> png -> taramasız). Şimdi xcode 4'te iyi derler.


5

Tam olarak "Önizleme" yi kullanarak bu * .PNG dosyalarını bulmaya ve yeniden kaydetmeye çalışın : Dosya - Dışa Aktar ... - "PNG olarak kaydet" . Bana öyle geliyor ki, Photoshop'ta "Web için Kaydet" modu ile görüntüyü kaydettiğinizde ve bu görüntü özel sıkıştırma (LZW) ile kaydedildikten sonra oluyor . Hepsi bu, iyi şanslar!


3

Görünüşe göre PNG dosyanız list_cell.pngbozuk. Xcode 4, birçok alanda Xcode 3'ten daha fazla kontrol yapar ve her zaman projenizde gizlenen sorunları ortaya çıkarır.

PNG dosyanızı bir resim düzenleyicide açıp tekrar kaydetmeyi denediniz mi?


1
Evet, zaten Önizleme'de açtım, sorun değil. ve tekrar kaydetmeye çalışıyorum ama hata hala görünüyor.
Michael Chen

Önizleme'de açmayın. Ayrıca görüntüdeki hataları gidermeye çalışabilir. Görüntüleri düzenleyebilen ve görüntünün yeni bir sürümünü saklayabilen bir uygulama ile açın.
Codo

3

Benim durumumda, klasör / dosya adındaki boş "boşluk anahtarını" kaldırarak sorunu çözdüm.

Umarım bu biri için de işe yarar.


2

Benimki taramalı değildi ama pngcrush'tan tuhaf hatalar almaya devam ettim. Sonunda dosyaları sadece diski değil, XCode aracılığıyla da sildim. Bunları XCode'a sürükle ve bırak yöntemiyle teker teker ekledim, her birini ardı ardına inşa ederek sorunu olan birini bulmayı umuyordum. Asla yapmadım. Benim sonucum, dosyaları gerçekten XCode'dan değiştirmeniz gerektiğidir, dosya sisteminden değil.


2

xcode 4.5 ile benim durumumda sorun terminal ile izin verilerek çözüldü

chmod -R + rw / proje yolunuz / proje klasörünüz

Bu, dosyaları dosya paylaşımıyla kilitlediği için belki de en iyi çözüm değildir. Ama aceleniz varsa yapacak.


2

PNG referanslarını kaldırıp tekrar projeye eklemem gerekti. Daha iyi bir çözümü olan var mı?


1

PNG dosyalarını kaldırmam ve ardından Hedefler -> UygulamaAdı -> Oluşturma Aşamaları -> Kaynaklar Paketine gitmem ve dosyaları oradan da kaldırmam gerekiyordu.


1

Aynı hatayı aldım. Aslında jpeg nerede benim pngs çıktı. XCode bunları doğru bir şekilde gösterdi ancak bir iOS cihazı göstermedi. Jpg'yi png olarak kaydederek çözdüm.


1

Bu hata, kaynaklarda genişliği veya yüksekliği 5 pikselden küçük olan bir görüntünüz olduğu ve bu görüntüyü yeniden boyutlandırmaya çalıştığınız için oluşur. Tüm görüntüleri minimum 5 piksele ayarlayın ve hata kaybolur.


Bana olan buydu, bu sorunu çözdü.
Geri Dönüştürülmüş Çelik

1

Adımları takip et:

 1. Take an image. 

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

 3. Drag it back to the Xcode.

cevap bana daha açıklayıcı mı olmalı
Nimit Dudani

0

Benim durumumda, tüm PNG dosyalarını klasörden kaldırmam ve ardından görüntüleri Xcode UI'ye (Başlatma Görüntüleri altında) sürükleyip bırakmadan dosyaları yeniden eklemem gerekiyordu. İkincisi benim durumumda anahtardı, önce dosyaları klasöre eklemek ve sonra onları UI'ye sürüklemek bir şekilde hepsini mahveten bir kopyaya neden oldu. Sizin için başka hiçbir şey işe yaramıyorsa, bunu deneyin.


0

Ben de aynı sorunu yaşadım. Yinelenen resimleri kaldırarak çözdüm. Farklı klasörlere göz atın. Benim sorunum buydu.


0

Bu hatayı çözdüm, projeye koyulduktan sonra görüntüleri yeniden adlandırdığınızda ortaya çıkıyor, bu nedenle bu sorunu çözmek için önce mevcut görüntüleri silmeli, dosyaları bulucudan yeniden adlandırmalı ve daha sonra bu görüntüleri projeye kopyalamalısınız.


0

Size yardımcı olabilir. Alpha ChannelEkteki ekran görüntüsünde gösterildiği gibi özelliği kontrol edin . Öyle olmalı YESeğer onun NO.

görüntü açıklamasını buraya girin


0

Size yardımcı olabilir. Alpha ChannelEkteki ekran görüntüsünde gösterildiği gibi özelliği kontrol edin . Öyle olmalı YESeğer onun NO.

görüntü açıklamasını buraya girin


0

Eva Madrazo doğru cevabı yayınladı (en azından taramalı PNG'lerle ilgili sorunlar için), ancak benim yaptığım gibi bir grup resimle bu sorunu yaşayanlar için, her dosyayı bir kerede taramadan çıkarmak için mogrify'i tekrarlı olarak kullanabilirsiniz.

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

Geçiş yöntemini değiştirmek görüntü kalitesini etkilemiyor gibi görünse de görüntü boyutunu etkiler, hiçbiri size daha küçük bir görüntü vermez.

Mogrify, ImageMagick ile birlikte gelir ve bunu homebrew ile kurabilirsiniz.


0

Hata:

/ Volumes / Mac OS / RDC / Workpot / RestApp / RestApp / default1024_768.png okurken pngcrush libpng hatasını yakaladı: PNG dosyası değil ..

Çözüm:

  1. PaintBrush aracında " default1024_768 " dosyasını açtım ve aynı adla saveAs PNG dosyasını açtım.
  2. Xcode projesindeki Icon dosyası değiştirildi.
  3. Temizle -> Oluştur

Hepsi bu kadar çekicilik gibi çalışıyor

Umarım bu birine yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.