2020年3月5日 : アセットカタログについて追記
アセットカタログが使用可能
この記事ではicnsファイルの生成して設定する方法を解説しています。しかし、この記事を作成した当時とは状況が異なり、macOSアプリでもアセットカタログが使用可能になっています。
そのため、icnsファイルを使用するよりもAssets.xcassets
に画像ファイルを登録して、アイコンを設定する方が良いと思います。
icnsファイルの生成方法
高解像度に対応したIcnsファイルを作るには、次のような手順で行います。
- 解像度が異なる複数の画像ファイルを作る
- 一つのフォルダにまとめて「.iconset」という名前を付ける
- Xcodeに設定する
解像度が異なる複数の画像ファイルを作る
次のようなサイズと解像度の画像ファイルを用意します。全部を用意できなくても大丈夫だと思います。
- 16×16, 72dpi
- 16×16, 144dpi
- 32×32, 72dpi
- 32×32, 144dpi
- 128×128, 72dpi
- 128×128, 144dpi
- 256×256, 72dpi
- 256×256, 144dpi
- 512×512, 72dpi
- 512×512@2x, 144dpi
これらのファイルを次の名前にして、一つのフォルダにまとめます。名前は必ずこの名前にする必要があります。「appname_512x512.png」のように書きたくなりますが、エラーになってしまいます。(このことに気が付くまで少し時間がかかりました)
- icon_16x16.png
- [email protected]
- icon_32x32.png
- [email protected]
- icon_128x128.png
- [email protected]
- icon_256x256.png
- [email protected]
- icon_512x512.png
- [email protected]
名前を設定したら「.iconset」という拡張子を付けたフォルダにまとめます。フォルダにまとめてから、フォルダの名前を変更した方が良いです。先に名前を変更すると、Finderでフォルダにドラッグ&ドロップ出来なくなります。フォルダの中を開いて、そのウインドウにドラッグ&ドロップは出来ますが。
Xcodeに設定する
Xcodeに設定します。まず、フォルダをXcodeに登録します。このときにフォルダ参照するようにします。次に、アプリのビルド設定で「COMBINE_HIDPI_IMAGES」をオンにします。これでアプリをビルドするときにicnsファイルが作られます。
ビルド時に作成されるicnsがアプリアイコンとして使われるようにするには、Info.plistファイルでビルドされる予定のアイコンファイルを設定します。例えば、「app.iconset」フォルダなら「app」を指定します。