過去に作ったアプリを今さら手をかけるほどではないという場合でも、せめてアイコンだけはiPadとiPhone4に対応したものを入れてみるとよいかもしれません。高解像度のアイコンが並ぶだけでも、なんとなく気分がいいものです。
というわけで、一つのアプリケーションビルドでそれぞれの解像度に対応したアイコンを用意する方法を解説します。この方法で、iPhone3GS以前の端末では従来のアイコンが表示されつつ、iPadではiPad用のアイコン、iPhone4ではiPhone4用のアイコンが表示されるようになります。
■ アイコンの作成
まずは、それぞれの端末向けにアイコンを用意する必要があります。最低限用意すべきは、iPhone3GS以前用の57x57ピクセル、iPad用の72x72ピクセル、iPhone4用の114x114ピクセルのアイコンです。わかりやすいように、それぞれのサイズを入れてアイコンを作りました。
・iPhone3GS以前用アイコン
57ピクセル × 57ピクセルファイル名:Icon.png
![中村智武のCTO記](https://stat.ameba.jp/user_images/20100706/22/tomotaken/40/e7/p/t00570057_0057005710626879429.png?caw=800)
・iPad用アイコン
72ピクセル × 72ピクセルファイル名:Icon-72.png
![中村智武のCTO記](https://stat.ameba.jp/user_images/20100706/22/tomotaken/4b/e8/p/t00720072_0072007210626879428.png?caw=800)
・iPhone4用アイコン
114ピクセル × 114ピクセルファイル名:Icon@2x.png
![中村智武のCTO記](https://stat.ameba.jp/user_images/20100706/22/tomotaken/d6/20/p/t01140114_0114011410626879427.png?caw=800)
また、検索結果用に小さいアイコンも用意することができます。こちらは、なければ勝手にアイコンが縮小されて表示されるのですが、もし個別に作りたい場合には用意しておきましょう。
・iPhone3GS以前用小アイコン
29ピクセル × 29ピクセルファイル名:Icon-Small.png
![中村智武のCTO記](https://stat.ameba.jp/user_images/20100706/22/tomotaken/19/8f/p/t00290029_0029002910626879859.png?caw=800)
・iPad用小アイコン
50ピクセル × 50ピクセルファイル名:Icon-Small-50.png
![中村智武のCTO記](https://stat.ameba.jp/user_images/20100706/22/tomotaken/7d/98/p/t00500050_0050005010626879857.png?caw=800)
・iPhone4用小アイコン
58ピクセル × 58ピクセルファイル名:Icon-Small-@2x.png
![中村智武のCTO記](https://stat.ameba.jp/user_images/20100706/22/tomotaken/22/e4/p/t00580058_0058005810626879858.png?caw=800)
■ アイコンの設定
従来であれば、アイコンのファイル名はInfo.plistの「CFBundleIconFile」パラメータで設定していました。しかし、新たな解像度に対応するためにiPhone OS3.2以降で「CFBundleIconFiles」というパラメータが新たに追加されました。最後にsがついただけです。
CFBundleIconFileには従来の57x57ピクセルのアイコン名を記述しておきます。そして、CFBundleIconFilesはArrayパラメータとなっており、全てのアイコンを記述します。これにより、iPhone OS 3.1.3以前であればCFBundleIconFilesが無視されて、57x57ピクセルのアイコンのみが参照されます。対して、iPhone OS 3.2以降はCFBundleIconFilesに書かれているファイルを見て、その端末に対応したサイズのアイコンが読み込まれるというからくりです。
まずは、作成したアイコンをリソースに登録します。
![中村智武のCTO記](https://stat.ameba.jp/user_images/20100706/22/tomotaken/09/ca/p/o0453023010626880390.png?caw=800)
Info.plistを編集します。
デフォルトではパラメータが登録されていないので、メニューの「Add Row」でパラメータを追加します。
CFBundleIconFilesは「Icon files」です。
配列型のため、Add Rowで設定を増やしていけます。
このように、「Icon file」には57ピクセル用のファイル、「Icon files」には全てのアイコンを登録しておきましょう。
以上で設定は完了です。
■ 実機で確認してみる
iPhone3GS、iPad、iPhone4それぞれで実際に確認してみました。
・iPhone 3GS (OS3.0)
・iPad (OS 3.2)
・iPhone4 (OS4.0)
![中村智武のCTO記](https://stat.ameba.jp/user_images/20100707/00/tomotaken/83/b5/j/o0575036010627101365.jpg?caw=800)
無事にそれぞれの端末に対応したアイコンがきちんと表示されました。