Quantcast
Viewing all articles
Browse latest Browse all 70

Launch Screen.storyboardの画像が表示されない

起動画面にLaunch Screen.storyboardを使ったアプリを作成中、storyboardで設定した画像が真っ黒になるという現象が発生した。

Simurlatorでは表示されるが、TestFrightでインストールしたバージョンで発生した。

一旦別の画像を設定・ビルドし、再度画像を設定し直すと、とりあえずはまた画像が表示されるようになったが、再発するので調べてみたら、同様のことが載っているページがいくつか見つかった。

このページに
UIImageView missing images in Launch Screen on device
UIImageのProperty > Drawing > Cleans Graphic Contextのチェックを外すといういう方法が載っていたが、私の場合は効かなかった。

またまた再発し、今度は画像を変えてもても直らない。
UIImageに設定しる画像名は、プルダンウンでは各調子付きのものだが、拡張子を取ったら直ったいうのがあったので試したところ、表示されるようになった。

これでもまた再発した。
確実そうなのは画像ファイルをまだ使ったいない名前にリネームすることのようだ。XCodeでのリネームでも有効。

デバイスを再起動させたら直ったというのが幾つかあるので試してみると、一発ですんなりというわけではなかったが、これまでに使ったことのあるファイル名に戻しても画像が表示されるようになった。

デバイス再起動で直るのだと、デバイスによって画像が表示されたり、されなかったりということがあるかもしれない。

どうやら、iOSがアプリ起動時の画面をどこかにキャッシュしているのでなないかと思われる。画面全体の画像としてのキャッシュではなくstoryboardから生成されるオブジェクト群のキャッシュだとすると、その中のUIImageのキャッシュ画像が再現できず、同じリソース名だと、iOSのキャッシュを無効にするまで表示されなくなるのかもしれない。

ちなみに、コーディングで何かできないかとも思ったが、Launch Screen.storyboardはアプリローディング中に表示されるものなので、これは無理でした。
参考:Execute code in Launch Screen

Viewing all articles
Browse latest Browse all 70

Trending Articles