新しいアイコン形式、資産カタログの中に入れたらビルドが通らなかった
めぐる日記のアプリ内の「気分の傾向」グラフをモチーフにしたアイコンを、レイヤーを重ねて立体的に見せる新しい仕組み(Icon Composerという専用ツールで作る形式)で作ってみた。 背景と5色のリング状のパーツ、合計6枚の画像を書き出して、専用ツールで組み立てて完成。あとはXcodeのプロジェクトに取り込むだけ、のはずだった。
最初のつまずき
それまでアプリアイコンは「Assets.xcassets」という、色やアイコンなどの見た目に関する素材をまとめて管理するフォルダの中に置くものだと思っていたので、新しいアイコンのファイルもそこに入れた。 ところがビルドしようとすると、資産カタログのコンパイラが「AppIconという名前に一致するアイコンセットが見つからない」というエラーを出して止まってしまう。
ファイル名も設定名も合っているはずなのに、まるでそこに何も置いていないかのように振る舞う。最初は自分の設定ミスを疑って、名前や配置を何度も見直したけど変化はなかった。
実在するアプリを調べる
手元のMacに入っている、同じ新しいアイコン形式を使っていそうなアプリの実際のファイル構成を覗いてみることにした。すると、そのアプリのアイコンファイルは資産カタログの中ではなく、外側に単独のファイルとして置かれていた。
試しに同じように、新しいアイコンのファイルを資産カタログの外に出して、コンパイラに「このファイルとこの資産カタログ、両方を渡すよ」という形で伝えるように変えたら、あっさりビルドが通った。
結局の原因
新しいアイコン形式は、見た目としては昔からある「アイコンセット」の仲間のように見えるけど、実際の扱われ方としては資産カタログそのものに近い、独立した存在だったらしい。 資産カタログの中の一部品として扱おうとしたのが、そもそもの前提から間違っていた。
持ち帰ったこと
- 新しい技術の使い方に迷ったら、ドキュメントだけでなく実在する完成品の中身を覗いてみると手がかりが早く見つかることがある
- 見た目が似ている仕組みでも、内部的な扱われ方(単純な部品なのか、独立した単位なのか)は全く違うことがある