2018年1月8日月曜日

Xcode9 でスプラッシュ画像が真っ黒になってしまう場合の対処方法

概要

なぜか実機でスプラッシュ画面の画像が真っ黒になりうまく表示されない現象が発生しました
ワークアラウンドですが解決したのでその解決策を紹介します

環境

  • macOS X 10.13.2
  • Xcode 9.2 (9C40b)

背景

スプラッシュ画面は LaunchScreen.storyboard を使って表示しています
LaunchScreen.storyboard の真ん中に UIImageView を一つ配置してそこに png 画像を設定します
アプリは SpriteKit を使ってゲームを開発しています
言語は Swift3 になります

現象

iPhone6 以上の実機端末で動作確認すると設定した png 画像が正常に表示されず真っ黒になってしまいます
iPhone5 およびシミュレータで動作確認すると画像は問題なく表示されます

対処方法

画像の名前を変更して再度 UIImageView に画像を設定したところうまく表示された

なぜこれで解決されるのか不明ですがとりあえず iPhone6 以上の実機でも問題なくスプラッシュ画像が表示されるようになりました
もしかすると Xcode9 のバグかもしれません

スプラッシュ画像が表示されない現象は調べると結構出てきます
キャッシュを削除したりアプリを再インストールしたりすると再度表示されるケースもあるみたいですが自分はそうではありませんでした

もしかすると今後リリースするときは毎回スプラッシュ画像の名前を変更する可能性があります
もしバグだとしたら早めに直していただきたいものです

1 件のコメント:

  1. 実機の場合アプリアンインストール -> 実機再起動 -> アプリ再インストールで現象が解消することも確認しています

    返信削除