2012-04-04 18 views
4

Wenn ich meine app starten auf iOS 5.1, auf einem Gerät (nur auf Retina-Display bisher getestet) wird das [email protected] Bild mit einem grünen Linie unten angezeigt der untere Teil des Bildes. Ich habe bestätigt, dass das Bild 640x960 ist und diese grüne Linie nicht enthält.Xcode 4.3.2 Standard-Startbild Beschädigter Bottom Pixel

Ich vermute, das muss aufgrund eines Problems mit dem PNG-Optimierungstool Xcode wird vor dem Hinzufügen der Ressourcen zu dem Bundle, vor allem da ich sehe nicht, wenn ich mit dem Simulator laufen.

Gibt es eine Möglichkeit, diese PNG-Optimierung Dienstprogramm zu reparieren oder zu aktualisieren? (Ich verwende den neuesten Xcode 4.3.2 für Lion, aus dem Mac App Store).

+2

Ich habe bestätigt, das Problem zu png Kompression zurückzuführen ist. Sie können "PNG-Dateien komprimieren" in den Zielerstellungseinstellungen deaktivieren, und dieses Problem verschwindet. Diese Frage beschreibt, wie Sie den Speicherort ermitteln, den xcode für pngcrush verwendet: http://stackoverflow.com/questions/9338019/where-is-pngcrush-for-xcode-4-3. Jetzt suche ich nach einer Möglichkeit, eine funktionierende Version von pngcrush zu installieren, damit ich immer noch optimierte Dateien ohne diese Beschädigung bekomme. – Prometheus

Antwort

4

Es ist ein Fehler in pngcrush 1.6.4, die im App Bündel von Xcode 4.3.2 installiert ist. Ich war in der Lage, dies zu beheben, indem Sie diese Anweisungen befolgen (dank http://www.mactricksandtips.com/2012/02/installing-and-using-pngcrush-on-your-mac.html):

  1. Laden Sie die neueste Version von pngcrush hier: http://sourceforge.net/projects/pmt/files/pngcrush/
  2. Entpacken Sie die Datei Ihres Lieblings-Komprimierungsprogramm (oder, im Terminal (oder Ihr Lieblings-Kommandozeilen-Tool), zu dem Verzeichnis, in dem Sie diesen Download gespeichert hat, und diesen Befehl ausführen (Sie können die Versionsnummer nach dem Download ändern müssen)

    tar -xvzf pngcrush-1.7.15.tar.xz

  3. Navigieren Sie in Ihrem Befehlszeilenprogramm zum entpackten Verzeichnis.
  4. Führen Sie den Befehl "make"
  5. Führen Sie den Befehl "sudo cp pngcrush /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush" auf die neueste Version kopieren Spitze der alten Version.
+0

Sie können auch pngcrush-Binärdateien (1.7.22, 'liblibpng.dylib' und ' pngcrush') innerhalb des [ImageOptim] (http://imageoptim.com/) Anwendungspakets erhalten. –

+0

Wow, das hat für mich funktioniert! Danke, Apple ....: - \ – Ron

+0

Bestätigt, dass dieses Problem ab Xcode Version 6.1.1 (6A2008a) noch vorhanden ist. Stellen Sie sicher, dass Sie sowohl liblibpng.dylib als auch pngcrush von ImageOptim kopieren, wie von Damin Debin vorgeschlagen, und säubern Sie auch Ihren Build-Ordner, indem Sie command-option-shift-k drücken und Ihre App von Ihrem Gerät entfernen und dann erneut ausführen. Andernfalls kann Xcode eine zwischengespeicherte Kopie des beschädigten Bildes verwenden. –

0

Für diejenigen, die wie ich schlägt dieses Problem mit XCode 4.5.2, scheint dieser Fehler selbst zu manifestieren, wenn die project.pbxproj einen Konflikt mit PNG-Bilddatei Datensätze hat, wie in diesem Support-Forum Thread beschrieben: https://devforums.apple.com/message/731402

Anders als die Antwort in diesem Thread (dh., Hand Bearbeitung der .pbxproj Datei, nicht mein Favorit, was zu tun ...) fand ich, dass die Verweise auf die beanstandeten Bilder zu löschen und sie wieder in die Projektdatei korrigiert das Hinzufügen Problem.