xcode6でios7をシミュレートすると画面が小さい

xcode
LINEで送る
Share on GREE
Share on LinkedIn

昨年夏から個人的に作成しているアプリを開発している途中でiOS8にアップデートされてしまい、
それに伴い、xcodeもバージョンアップされるわけですが、ここに落とし穴があった・・・

現象

何故かios7の場合に上下にマージンが入ってしまう。
ていうかバグみたく見えるorz…

少し分かりにくいが、ios7では、上下に黒いブランクが入り、画面がそこまで表示されない。

ios8
スクリーンショット 2015-01-18 10.49.13

画面上部までアイコンが表示されている。

ios7
スクリーンショット 2015-01-18 10.50.23

画面上部は、黒枠まで表示されていない。明らかにブランク領域!

原因

スプラッシュ画面でした。
デフォルトで「LaunchScreen.xib」ファイルのサイズに依存するみたいです。
ちなみに、Info.plistの「Launch screen interface file base name」という箇所にセットされているので、
それを削除すればいいのかと思ったが、それでは解決にならない。
そもそも、このスプラッシュ画面はios8の新機能らしい。

どうやらこれは、iPhone4xの3.5インチのサイズになっているらしい。
iPhone5(4インチ)の縦長が自動判別できないようだ。
なんというおバカさん・・・だったら、画面サイズ変えるなや!!

対処方法

xcode5の時にスプラッシュ画像の仕様が変更になった「ImageAsset」の設定がデフォルトで無いことが原因のようだが、

以下の手順で簡単に修復する。

1.

スクリーンショット 2015-01-18 10.59.56

まず、「General」設定画面に行き、画面の矢印の箇所をクリックする。

2.

スクリーンショット 2015-01-18 11.00.13

表示されたダイアログの「Migrate」ボタンを押すだけで、この問題は解決です。

気づいたこと

どうやら、ios8がLunchImageを参照してしまうらしいので、デフォルトはOFFとの事ですが、
そもそも、そんな仕様変更いらないのでは?
下位互換性を重視してよ、ホントに。

お世話になったサイト

http://www.dorapro.co.jp/engineerblog/?p=357

thanksです!!

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*