The launch screen exceeds the memory limit…警告が出た時の対処法

2022.03.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Launch screenとは、アプリの起動中の間に表示される画面のことを指すのですが、今回はその画面を作成する為にLaunch.storyboardに画像を設定すると、

warning: Unsupported Configuration: The launch screen exceeds the memory limit and may not display during app launch. Use images requiring less space.

という警告が出たので対応しました。

環境

  • Xcode 13

警告の意味

警告: サポートされていない構成: 起動画面はメモリー限界を超え、アプリ起動中に表示できないかもしれません。必要なメモリースペースが小さい画像を使用してください

画像の容量が大きいので小さい容量のものを使用してくださいという意味のようです。

解決方法

画像を1024pxに変更したものを差し込むと警告メッセージが消えました。

ヒューマンインターフェイスガイドライン

起動画面の目的

今回の警告の意味を理解する為に、起動画面のヒューマンインターフェイスガイドラインを確認しました。

ガイドラインの冒頭にもこのような記載がありました。

起動画面はアプリの起動時にすぐに表示され、アプリの最初の画面にすばやく置き換えられ、アプリが高速で応答性が高いという印象を与えます

起動画面は芸術的な表現の機会ではありません。これは、アプリをすばやく起動してすぐに使用できるようにすることを目的としています。

起動画面を必要最低限の内容にすることで、本来の起動画面の目的を果たすことができ、最終的にはユーザー体験の向上に繋がるということですね。

あるべき起動画面の姿

ガイドラインには、アプリの最初の画面とほぼ同じ起動画面を設計します。との記載があり、サンプルのイメージも載せてありました。

アプリのインターフェースに似た起動画面を設計すると、ユーザーはアプリがすぐに起動するような錯覚が生じます。この手法を行うことで、ユーザーはアプリがすぐに応答したと感じることができるからとのこと。

おわりに

警告メッセージを解決する為に調べてるだけのつもりでしたが、起動画面のあるべき姿や、目的を改めて確認することができました。ガイドラインにはApple側の思いが記載されていると思うのでこれからもしっかり読んでいきたいと思います。

補足

Xcode12.5で同じ環境を作ってみましたが、この警告メッセージは発生されませんでした。Xcode13以降で追加された警告メッセージのようです。

Xcodeも日々改良されていっているのを感じました。警告を出していただけるおかげで色々な問題を早期発見・対応できます。

ありがとう、Xcode。また会う日まで

参考