LoginSignup
19
21

More than 5 years have passed since last update.

Asset Catalog への画像リソース追加をシェルスクリプトで楽に行う

Posted at

Xcode 5 で追加された Asset Catalog は、画像リソースの管理に使うと便利です。
画像リソースをいじってもプロジェクトファイルが変更されないので、バージョン管理ツールでのコンフリクトが起こりにくくなります。また、非 Retina 画像と Retina 画像をペアにして管理できます。

しかし、Xcode 上で Images.xcassets に画像ファイルを追加しようと思うと、画像ファイルを所定の場所にいちいちドラッグ&ドロップしなくてはいけないため、面倒であり、間違いも発生しやすいです。

実は、Images.xcassets は非常に単純な構成になっています。単に imageset というフォルダの中に、画像ファイルそのものと、Contents.json というファイルがあるだけです。
このため、スクリプトを作って処理を自動化することができます。

実際に、スクリプトを書いてみました。

これで、だいぶ楽ができます。

スクリプトの使い方

使い方は次のとおりです。

  1. フォルダを新規に作り、そこに画像ファイルたちを入れます(aaaa.pngaaaa@2x.png といったペアになるファイルを両方入れておきます)。
  2. そのフォルダで、上記のシェルスクリプトを実行します。すると、imageset フォルダが自動で作成され、その中に画像ファイルが移動し、Contents.json が作成されます。
  3. できた imagesetImages.xcassets フォルダに入れると、Xcode が自動的に認識してくれます。

実行例

フォルダ内に次のようなファイルがあるとします。

  • aaaa.png
  • aaaa@2x.png
  • bbbb.png
  • bbbb@2x.png
  • cccc.png
  • cccc@2x.png

このフォルダでスクリプトを実行すると、次のようになります。

  • aaaa.imageset
    • aaaa.png
    • aaaa@2x.png
    • Contents.json
  • bbbb.imageset
    • bbbb.png
    • bbbb@2x.png
    • Contents.json
  • cccc.imageset
    • cccc.png
    • cccc@2x.png
    • Contents.json

補足

ごく単純なスクリプトであり、エラー処理や気のきいた機能などはありません。いろいろと改良の余地はあると思います。

19
21
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
21