iOS向けのプログラムを作る時にアプリに同梱するPNGはデフォルトの設定だと最適化が行われます。このPNGをどの環境でも見れるPNGに戻す方法の書かれたブログ記事を見かけました。変換方法自体は公式のドキュメントなども有るのですがパスが長くて結構記述が面倒なので簡単に使える様にシェルスクリプトなども紹介されていました。
Technical Q&A QA1681: Technical Q&A QA1681
https://developer.apple.com/library/ios/#qa/qa1681/_index.html
Red Sweater Blog – Fixing PNGs
http://www.red-sweater.com/blog/2517/fixing-pngs?utm_source=iOS+Dev+Weekly&utm_campaign=89112a407f-iOS_Dev_Weekly_Issue_45&utm_medium=email
ここだけでもまぁ、参考になるのですがその後に書かれていた2点も興味深い内容でした。
まず1点目、xcodeがビルド時に行う圧縮より、ImageOptimで圧縮した方が30〜40%サイズを削減できるそうです。
2点目としては xcrun というコマンドです。
これは該当のフォルダにパスを通さなくてもSDKの中に有るツールを実行可能にしてくれるツールみたいです。
例えば以下の様に記述すると pngcrush のフルパスを指定したのと同じ扱いになります。
xcrun -sdk iphoneos pngcrush -revert-iphone-optimizations
以下の記述と同等。
/Applications/Xcode.app/Contents/Developer//Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush -revert-iphone-optimizations
xcrun(/usr/bin/xcrun) はファイルを開いてみるとただのシェルスクリプトみたいです。内部では /usr/share/xcode-select/xcrun に投げてるみたいです。
関連情報
xcrun の使用例として参考になりました。
Q: Xcode でアーカイブビルドが完了してもオーガナイザのウィンドウに遷移しないのでipa ファイルが作れない問題の解決 - laiso - iPhoneアプリ開発グループ
http://iphone-dev.g.hatena.ne.jp/laiso/20120124/1327383808