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

2015年1月25日

Tips xcode プログラミング

昨年夏から個人的に作成しているアプリを開発している途中で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です!!

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ