[2020年3年5日更新] Macアプリのアイコンの設定方法 – Xcodeでのicnsの生成

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
  • icon_16x16@2x.png
  • icon_32x32.png
  • icon_32x32@2x.png
  • icon_128x128.png
  • icon_128x128@2x.png
  • icon_256x256.png
  • icon_256x256@2x.png
  • icon_512x512.png
  • icon_512x512@2x.png

名前を設定したら「.iconset」という拡張子を付けたフォルダにまとめます。フォルダにまとめてから、フォルダの名前を変更した方が良いです。先に名前を変更すると、Finderでフォルダにドラッグ&ドロップ出来なくなります。フォルダの中を開いて、そのウインドウにドラッグ&ドロップは出来ますが。

Xcodeに設定する

Xcodeに設定します。まず、フォルダをXcodeに登録します。このときにフォルダ参照するようにします。次に、アプリのビルド設定で「COMBINE_HIDPI_IMAGES」をオンにします。これでアプリをビルドするときにicnsファイルが作られます。

ビルド時に作成されるicnsがアプリアイコンとして使われるようにするには、Info.plistファイルでビルドされる予定のアイコンファイルを設定します。例えば、「app.iconset」フォルダなら「app」を指定します。

投稿者プロフィール

林 晃
林 晃macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者
アールケー開発代表。macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者。ObjC/Swift/C++使い。豊富な開発実務経験を基に、教育コンテンツ開発、技術書執筆、技術指導、技術セミナー講師、企業内研修講師、行政・自治体職員研修講師も行います。

基礎から学ぶMetal


「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。

私が初めてGPUプログラミングを行ったとき、どこから手をつけて、学んでいけば良いのか分からず呆然としました。もし、あのとき、これを教えてくれればという部分を解説しました。本書で解説している部分はMetalの基礎となる部分で、Metalを使うときに必ず触れることになる部分です。

詳細

基礎から学ぶSwiftUI


「基礎から学ぶ SwiftUI」というタイトルの本を執筆しました。

SwiftUIの入門書です。

SwiftUIのコンセプトは「ユーザーインターフェイスを作るための最短パスを提供する」「一度学べば(Appleのプラットフォームの)どこにでも適用できる」です。

SwiftUIの概要から始まって、一つ一つのテクノロジートピックに注目しながらSwiftUIとは何か?どんなことができるのか?どのようなコードを書けば良いのかなどを丸々一冊使って解説しています。

詳細

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事