App mit Xcode 4 erstellen - es wird immer ein Fehler bezüglich des PNG-Bildes angezeigt

88

Wenn ich meine App mit Xcode 4 erstelle, wird immer folgende Fehlermeldung angezeigt:

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

Beim Überprüfen von Alphas in /Volumes/WORK/Works/iMusicBox/Images/list_cell.png hat pngcrush einen libpng-Fehler festgestellt: Nicht genügend Bilddaten

aber mit Xcode 3.2 ist es in Ordnung - warum?

Michael Chen
quelle

Antworten:

191

Fand es!!

Sie müssen Ihre PNG-Dateien als NICHT INTERLACED speichern . Versuchen Sie, die Datei in Photoshop (oder ähnlichem) zu öffnen, speichern Sie sie unter und wählen Sie "Nicht interlaced".

In meinem Fall funktioniert es

hoffe das hilft

Eva Madrazo
quelle
Eva, du hast recht, danke! Ich exportiere aus dem Web in Pixelmator und es ist in Ordnung.
Michael Chen
6
Mann! Gott sei Dank! Und Sie! Ich wollte gerade auf das Dach gehen, um meinen dummen Laptop von dort zu werfen, als ich diese Antwort sah und es funktionierte. Vielen Dank. Ich denke, es ist jetzt Zeit zu schlafen.
Sahil Chaudhary
7
In meinem Fall stellte sich heraus, dass ich in Xcode mehrere Verweise auf dieselbe Datei hatte (dies bedeutete wahrscheinlich, dass versucht wurde, die Datei mehr als einmal zu verarbeiten?). Durch Entfernen des doppelten Verweises wurde das Problem behoben.
Peter Johnson
Ich habe mein PNG als NICHT INTERLACED gespeichert und beim ersten Erstellen immer noch diesen Fehler erhalten, aber beim zweiten Erstellen ist dieser Fehler verschwunden ...
Jing
23

Dies geschieht, wenn Ihre Projektdatei mehrere Einträge für die Bilddatei enthält. Ich habe keine Ahnung warum, aber ich habe einfach alle Einträge entfernt, das Projekt neu geladen und die Datei erneut hinzugefügt.

Banane
quelle
Hmm, sind Sie sicher, dass Sie dieselbe Compilermeldung von Doublettes hatten?
Brainray
8
Das war auch mein Problem. Meine Startbilder verursachten Probleme. Standardmäßig hat XCode schwarze Bilder in meinen Ordner "Unterstützende Dateien" eingefügt, dann habe ich weitere hinzugefügt, aber die schwarzen sind nicht verschwunden. Wenn der Launch-Bildhalter schwarz ist, bedeutet dies, dass sich in Ihrem Projekt ein Bild dafür befindet. Entfernen Sie die schwarzen Bilder und bringen Sie die richtigen ein. Hab das gemacht und jetzt ist alles wieder gut!
dbDev
15

Stellen Sie sicher, dass Sie in der "Erstellungsphase" des Ziels -> "Bundle-Ressourcen kopieren" keine doppelten Einträge haben.

Yohann T.
quelle
Für alle anderen, die nicht einmal Bilder in ihrem Projekt haben ... war diese Lösung die einzige der Antworten, die funktionierten. Ich habe keine Bilder, aber ich verwende das Facebook SDK und musste alles löschen, was in Build Phases-> Copy Bundle Resources rot war.
Jeff Grimes
9

Dies kann die Einstellung "PNG-Dateien komprimieren" sein (im Abschnitt "Verpackung" der Build-Einstellungen).

Ich habe diesen Fehler behoben, indem ich ihn auf "Nein" gestellt habe.

Sonnenuntergang
quelle
6

In meinem Fall stellte ich fest, dass mein beschädigtes PNG in Photoshop nicht geöffnet werden konnte. Ich habe in der Vorschau geöffnet, als psd gespeichert und dann erneut aus Photoshop gespeichert (speichern unter -> png -> nicht interlaced). Kompiliert jetzt gut in xcode 4.

jaime
quelle
5

Versuchen Sie, diese * .PNG-Dateien mit "Vorschau" zu finden und erneut zu speichern , um genau zu sein: Datei - Exportieren ... - "Als PNG speichern" . Es scheint mir, dass es passiert, wenn Sie ein Bild in Photoshop im Modus "Für Web speichern" speichern und danach dieses Bild mit einer speziellen Komprimierung (LZW) gespeichert wird . Das ist alles, viel Glück!

Ruhe dich aus
quelle
3

Es sieht so aus, als ob Ihre PNG-Datei list_cell.pngbeschädigt ist. Xcode 4 führt in vielen Bereichen mehr Überprüfungen als Xcode 3 durch und zeigt Probleme auf, die in Ihrem Projekt ständig lauerten.

Haben Sie versucht, Ihre PNG-Datei in einem Bildeditor zu öffnen und erneut zu speichern?

Codo
quelle
1
Ja, ich öffne es bereits in der Vorschau, es ist in Ordnung. und ich versuche es erneut zu speichern, aber der Fehler wird immer noch angezeigt.
Michael Chen
Öffnen Sie es nicht einfach in der Vorschau. Möglicherweise wird auch versucht, die Fehler im Bild zu umgehen. Öffnen Sie es mit einer Anwendung, die Bilder bearbeiten und eine neue Version des Bildes speichern kann.
Codo
3

In meinem Fall habe ich das Problem gelöst, indem ich den leeren "Leerzeichen" in Ordner / Dateiname entfernt habe.

Hoffe das funktioniert auch bei jemandem.

inox
quelle
2

Meine waren nicht interlaced, aber ich bekam immer wieder seltsame Fehler von pngcrush. Schließlich habe ich die Dateien nicht nur auf der Festplatte, sondern über XCode gelöscht. Ich fügte sie nacheinander durch Drang-and-Drop in XCode hinzu und baute sie nacheinander auf, in der Erwartung, einen zu treffen, der ein Problem hatte. Ich habe nie getan. Mein Fazit ist, dass Sie wirklich die Dateien von XCode und nicht das Dateisystem manipulieren müssen.

hofo
quelle
2

In meinem Fall mit xcode 4.5 wird das Problem durch Erlaubnis mit Terminal gelöst

chmod -R + rw / yourprojectpath / yourprojectfolder

Dies ist möglicherweise nicht die beste Lösung, da Dateien mit Dateifreigabe gesperrt werden. Aber wird es tun, wenn Sie es eilig haben.

Balázs Csordás
quelle
2

Ich musste die Verweise auf PNGs entfernen und sie erneut zum Projekt hinzufügen. Hat jemand eine bessere Lösung?

Alex L.
quelle
1

Ich musste PNG-Dateien entfernen und dann zu Ziele -> AppName -> Phasen erstellen -> Ressourcen bündeln gehen und die Dateien auch von dort entfernen.

zirinisp
quelle
1

Ich habe den gleichen Fehler bekommen. Es stellte sich heraus, dass meine PNGs tatsächlich JPEG waren. XCode zeigte sie richtig an, ein iOS-Gerät jedoch nicht. Es wurde behoben, indem das JPG als PNG gespeichert wurde.

Auf zwei Rädern
quelle
1

Dieser Fehler tritt auf, weil Sie ein Bild in Ressourcen haben, dessen Breite oder Höhe kleiner als 5 Pixel ist, und Sie versuchen, die Größe dieses Bildes zu ändern. Stellen Sie alle Bilder auf mindestens 5 Pixel ein und der Fehler verschwindet.

ancajic
quelle
Das ist mir passiert, das hat es behoben.
Recycelter Stahl
1

Folge den Schritten:

 1. Take an image. 

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

 3. Drag it back to the Xcode.
Tasnim Ahmed
quelle
Antwort sollte mich beschreibender
Nimit Dudani
0

In meinem Fall musste ich alle PNG-Dateien aus dem Ordner entfernen und die Dateien dann erneut hinzufügen, ohne die Bilder per Drag & Drop in die Xcode-Benutzeroberfläche zu ziehen (unter Bilder starten). Letzteres war in meinem Fall der Schlüssel. Zuerst wurden die Dateien zum Ordner hinzugefügt und dann in die Benutzeroberfläche gezogen, was irgendwie zu einem Duplikat führte, das alles vermasselte. Probieren Sie das aus, wenn nichts anderes für Sie funktioniert.

Jonathan
quelle
0

Ich hatte das gleiche Problem. Ich habe es behoben und die doppelten Bilder entfernt. In verschiedenen Ordnern auschecken. Das war mein problem

Javier Roberto
quelle
0

Ich habe diesen Fehler behoben. Er wird angezeigt, wenn Sie die Bilder nach dem Einfügen in das Projekt umbenennen. Um dieses Problem zu lösen, sollten Sie zuerst die aktuellen Bilder löschen, Dateien aus dem Finder umbenennen und diese Bilder später in das Projekt kopieren.

kakashy
quelle
0

Kann dir helfen. Überprüfen Sie die Alpha ChannelEigenschaft wie im beigefügten Screenshot gezeigt. Es sollte sein, YESwenn es ist NO.

Geben Sie hier die Bildbeschreibung ein

Ashvin Ajadiya
quelle
0

Kann dir helfen. Überprüfen Sie die Alpha ChannelEigenschaft wie im beigefügten Screenshot gezeigt. Es sollte sein, YESwenn es ist NO.

Geben Sie hier die Bildbeschreibung ein

Ashvin Ajadiya
quelle
0

Eva Madrazo hat die richtige Antwort gepostet (zumindest für Probleme mit Interlaced-PNGs), aber für diejenigen, die dieses Problem mit einer Reihe von Bildern haben, wie ich, können Sie mogrify rekursiv verwenden, um jede Datei auf einmal zu entschachteln.

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

Das Ändern der Interlace-Methode scheint die Bildqualität nicht zu beeinträchtigen, wirkt sich jedoch auf die Bildgröße aus. Keines ergibt ein kleineres Bild.

Mogrify wird mit ImageMagick geliefert und kann mit Homebrew installiert werden.

Douglas Schmidt
quelle
0

Error:

Beim Lesen von / Volumes / Mac OS / RDC / Workpot / RestApp / RestApp / default1024_768.png hat pngcrush den libpng-Fehler abgefangen: Keine PNG-Datei.

Lösung:

  1. Ich habe die Datei "default1024_768" im PaintBrush- Tool geöffnet und die PNG-Datei saveAs mit demselben Namen gespeichert.
  2. Ersetzt die Icon-Datei im Xcode-Projekt.
  3. Reinigen -> Bauen

Das ist alles seine Arbeit wie Charme

Hoffe das wird jemandem helfen.

swiftBoy
quelle