ブログ記事

Xcode6でXcode5ベースで作ったアプリをスケーリング表示させる方法

今日、iPhone6の実機でテストする機会があったので、iPhone4/5の画面サイズに合わせてデザインしたカメラアプリのDebugをしてみました。

結果から言うと、UIが崩れてしまい、全然ダメ。ToT

iPhone4s->5の時もそうだったんですが、最新のXcodeでコンパイルした場合スケーリング機能が効かなくなります。

簡単には、iPhone5ベースサイズで作ったアプリをXcode6でコンパイルするとiPhone6上ではスケーリングされずiPhone6サイズで設計されている前提で動作してしまいます。
(ディフォルト画面だけはスケーリングされる)

なので現状、Xcode5でコンパイルされたiPhone4、iPhone5用アプリでiOS8で正常動作出来るアプリだけが、iPhone6/6+でしか動かないことになります。
(ああ、でもXibファイルでAutoLayoutとして作ってあるのは大丈夫なのかな?よくよく考えてみればXCode5からストリーボードが標準なんですよね?自分はストーリーボードがきらいなので、Xlib派でXCode4の新規プロジェクトをXCode5で起こせるように設定したままここ1年開発してきました。まあよくわからんですわ^o^;)

前回のブログで書いたiOS8でシステムサウンドファイルの名称に互換性がなくなったことなども含めて結構iPhone6/6+では動かないアプリも多いような気がします。(実際には知りません。)
iPhone5からiPhone6へ機種変更した方も「よく落ちる」っとのことだったのでやはりiOS8はちょっと問題がありすぎる雰囲気ですがね。
世間ではiOS8.1のリリースの話が色々とニュースなどにも流れているようですし...。

話を戻しますが、色々なiOS6の画面サイズについて記載のあるブログを読むと起動画面のサイズの有無で切り替えされているのと、Xcode6では起動画面の登録はAsset CatalogでiPhone4/5向けだけいれればスケーリンスされるみたいな事が書かれている記事もあったのですが、うまくいきませんでした。

そこで暫定的な方法になるかと思うのと、これで審査に通るかわかりませんが、XCode5とXCode6の両方が入って居る環境ならば、XCodeのBaseSDK7.1をXcode6に参照させることで、iPhone5サイズに作ってあるアプリをiPhone6/6+でスケーリングさせることができるようになります。

ここには、β版のXcode6とXcode5でシンボリックリンクする方法が書かれていましたが、将来的にXcode5を削除する予定ならば、コピーの方が安全かもしれません。

現状、iOSシュミレーターでは一応スケーリングされている事は確認できました。

思うに、iPhone4Sベースで設計したアプリ、しかもカメラ系アプリをiPhone6+で使うって相当無理がありますよね?
そのまま完全互換で動作すれば話は別ですけど、現状、下位バージョン互換性が過去に前例のないぐらいまずい状態なので、困ったものです。

無料アプリならばインストールして動かなければ削除されるだけで済みますが、有料アプリだとクーリングオフできることを知っているユーザが少ないのでレビューに悪く書かれて終わりっとい悪循環になりそうです。


ページ移動

ユーティリティ

スポンサーリンク


検索

エントリー検索フォーム
キーワード
例:abs修理、メーターフード自作

過去ログ

Feed