昨年夏から個人的に作成しているアプリを開発している途中でiOS8にアップデートされてしまい、
それに伴い、xcodeもバージョンアップされるわけですが、ここに落とし穴があった・・・
現象
何故かios7の場合に上下にマージンが入ってしまう。
ていうかバグみたく見えるorz...
少し分かりにくいが、ios7では、上下に黒いブランクが入り、画面がそこまで表示されない。
ios8
画面上部までアイコンが表示されている。
ios7
画面上部は、黒枠まで表示されていない。明らかにブランク領域!
原因
スプラッシュ画面でした。
デフォルトで「LaunchScreen.xib」ファイルのサイズに依存するみたいです。
ちなみに、Info.plistの「Launch screen interface file base name」という箇所にセットされているので、
それを削除すればいいのかと思ったが、それでは解決にならない。
そもそも、このスプラッシュ画面はios8の新機能らしい。
どうやらこれは、iPhone4xの3.5インチのサイズになっているらしい。
iPhone5(4インチ)の縦長が自動判別できないようだ。
なんというおバカさん・・・だったら、画面サイズ変えるなや!!
対処方法
xcode5の時にスプラッシュ画像の仕様が変更になった「ImageAsset」の設定がデフォルトで無いことが原因のようだが、
以下の手順で簡単に修復する。
1.
まず、「General」設定画面に行き、画面の矢印の箇所をクリックする。
2.
表示されたダイアログの「Migrate」ボタンを押すだけで、この問題は解決です。
気づいたこと
どうやら、ios8がLunchImageを参照してしまうらしいので、デフォルトはOFFとの事ですが、
そもそも、そんな仕様変更いらないのでは?
下位互換性を重視してよ、ホントに。
お世話になったサイト
Xcode6でiOS7対応アプリを作るときのワナ
thanksです!!
0 件のコメント:
コメントを投稿