アプリのアイコンを自動生成する
アイコンをプログラムによって生成して、デフォルトの真っ白なアイコンと差し替えた話です。
問題意識
開発中のiOSアプリはデフォルトで真っ白な(iOS7から幾何学模様)アイコンですが、開発中のアプリをいくつかインストールすると、ホーム画面に真っ白なアイコンがズラズラと並びます。iOSアプリを開発したことのある方であれば、見慣れた光景かと思います。こういう画面だと、一目でどのアイコンがどのアプリか判断つかないし、なによりiOSらしからぬダサいホーム画面になってしまいます。
一目でどれがどのアプリか分かって、かつ開発中のアプリで覆い尽くされてもホーム画面が華やかに見える状態を目指して、今回のソリューションを考案しました。
picon
以上のような問題を解決するため、piconというrubygemを作りました。Xcode 5.0以降が必須です。使い方は簡単で以下のとおりです。
$ gem install picon
$ cd path/to/project
$ picon generate
これでこんな感じになります。
Before
After
piconはアプリのbundle identifier(com.example.SampleApp的なアレ)のハッシュ値に基づいたidenticonを生成し、デフォルトのアイコンと差し替えます。bundle identifierに基づいているので、アプリ毎にユニークなアイコンが生成されます。もちろんiPadやiOS 7など各解像度に合わせて生成して差し替えてくれます。実装の中身としては、Xcode 5.0から追加されたAsset Catalogという機能を使っています。新しいAsset Catalogを作成し、そこに生成したidenticonを追加して、最後にデフォルトのアイコンのAsset Catalogと入れ替えています。ちょっと強引なやり方をしていますが。
デフォルトのアイコンに見飽きたという方は、ぜひお使いください。また、まだまだ完成度は高くないのでpull reqやissueもお待ちしております。