/ / Überspringen des Build-Schrittes "CompressResources" für XCode-iPhone-Apps - iPhone, Xcode, Bild, Ressourcen

Den Buildschritt "CompressResources" für XCode iPhone Apps überspringen - iphone, xcode, image, resources

Ist es möglich, ein iPhone-XCode-Projekt festzulegen, um den Erstellungsschritt "CompressResources" zu überspringen?

Insbesondere möchte ich die Phase überspringen, in der pngcrush für alle meine .png-Dateien ausgeführt wird, von denen viele die Erfahrung nicht in einer Form überleben, die meine App lesen kann.

Bearbeiten: Die verwendete Version von pngcrush erstellt png-DateienDiese enthalten einen nicht standardmäßigen "obligatorischen, privaten" Block, der die Dekodierung ausdrücklich verhindert. Ich habe meinen PNG-Reader so modifiziert, dass er mit diesen Dateien umgehen kann, aber ich mag immer noch eine pro-Projekt-Methode, diesen Schritt zu überspringen. Ein weiterer Nebeneffekt von pngcrush ist, dass der Farbwert von transparenten Pixeln nicht gespeichert wird. Alpha-ed-Texturen zeigen daher auf kleineren Mip-Ebenen Fring.

Das iPhone-PNG-Format wird hier beschrieben: http://modmyi.com/wiki/index.php/Iphone_PNG_images. Zusamenfassend,

  • Überspringen Sie den CgBI-Block
  • Überspringen Sie die Zlib-Header
  • Tauschen Sie die BGR-RGB-Kanalreihenfolge aus

Bearbeiten: Es scheint, dass es auch das Alpha vormultipliziert, also:

  • Durch alpha teilen

Antworten:

10 für die Antwort № 1

Sie können "IPHONE_OPTIMIZE_OPTIONS = -skip-PNGs" zu Ihren Projekteinstellungen hinzufügen, um das Png-Mangling zu verhindern. Seien Sie jedoch vorsichtig, müssen Sie das Symbol und Default.png dann separat optimieren.


8 für die Antwort № 2

Das Skript iphoneos-Optimize konvertiert PNG-Dateienin ein nicht standardmäßiges Format, das für die Anzeige auf dem iPhone optimiert ist. Das Skript konvertiert alle Dateien mit der Erweiterung png, die es in Ihrem App-Paket findet.

Ich hatte ein ähnliches Problem und löste es durch Gebenmeine Datei die Erweiterung _png (d. h. ein Unterstrich vorangestellt). iphoneos-Optimize ignorierte es und beließ es als normale PNG-Datei. Wenn Sie auf diese Weise damit umgehen können, ist es wahrscheinlich viel sicherer, als mit den Build-Skripten herumzuspielen.


5 für die Antwort № 3
  • Öffnen Sie die Build-Einstellungen
  • Wählen Sie unter "Verpackung" die Option PNG-Dateien komprimieren aus
  • Wähle "NEIN"

3 für die Antwort № 4

Wenn Sie sich die Build-Ausgabe ansehen, sehen Sie, dass der Schritt CompressResources das Skript ausführt /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/iphoneos-optimize. Dies scheint nur ein Shell-Skript zu sein, das pngcrush ausführt und Plists in ein Binärformat kompiliert. Sie können dieses Skript möglicherweise so modifizieren, dass pngcrush nicht ausgeführt wird.

Beachten Sie, dass jemand in Dieser Thread bemerkte, dass, wenn sie ihre Ikonendatei nicht durch pngcrush liefen, sie nicht auf dem Telefon angezeigt wurde.

Interessanterweise hat die Version von pngcrush im Verzeichnis des Skripts ein Argument -iphone. Weiß jemand, ob dies Standard ist oder etwas, das Apple nur mit dem Build davon liefert?


1 für die Antwort № 5

Das könnte ein anderes Thema sein. In vielen Fällen hat das Problem mit der Benennung zu tun und kann sehr einfach gelöst werden.

lesen Sie dies: http://cocoapi.wordpress.com/2009/03/22/iphone-images-not-appearing-in-real-iphone-this-is-why/