Asset Catalogはとても便利だが、ちょっと困った問題に遭遇した。
iOS7対応のアプリを作っていて、画像が表示されないのだ。

以下のようにimages.xcassetsを設定していた。
画像はjpgファイルだ。
asset_catalog_jpg01
この画像を以下のように画面中央に表示させてみようとしてみた。
asset_catalog_jpg02
特に問題は無いと思える。
しかし、実行してみたらなぜか画像が表示され無いのだ。

何故だろう?

よく見ると、コンソールに以下のようなエラーが出ている。
Unable to create unsliced image from csi bitmap data.
このメッセージでググってみるとstackoverflowに答えがあった。
ios7 - Xcode 6 (beta 3): Unsupported pixel format in CSI or Unable to create unsliced image from csi bitmap data - Stack Overflow

どうやら、Xcode(or iOS7)のバグのようで、xcassetsにはjpgを含めてはいけないようだ。
試しに件のファイルをpngに差し替えてみたら問題なく表示された。

しかし、pngではなくjpgを使いたくなることもよくある。
例えば、画面いっぱいに表示するような大きな画像を使う場合だ。
この場合、pngだとjpgの数倍の容量になることもよくある。

では、jpgを使いたい場合はどうするか。
現状では、xcassetsを使わずに従来通りにバンドルに登録して使うしか無いようだ。

出来るだけ早くこの問題が解決されることを願う。