既存アプリがiPhone Xでどう表示されるか、とりあえず確認する
11月3日に発売されるiPhone Xで、自分のアプリが動作するのか?どのように表示されるのか?
すぐ手に入るか分からない実機は待てないので、Simulatorで確認するのが正しい方法ですがiPhone XのSimulatorを動作させるためにはXcode9の利用が必要です。
しかし、Xcode9でビルド行うとSwift3.2からデフォルトなので、既存アプリではビルドが通らない場合があります。
また、ビルドが通ってもiPhone X用にビルドされてしまうため、既存アプリがそのままiPhone Xでどのように動作するかの確認になりません。
そこで、Xcode8.xでビルドしたSimulator用バイナリをXcode9.xのiPhone XのSimulatorに突っ込んで動作させてみます。
既存サンプルアプリ作成
- Xcodeの新規プロジェクトのウィザードで作成できるタブのプロジェクト「TabSample」で試します。
- ただ作成して実行しただけです。ホームにアイコンも並びアプリも起動します。
ホーム(iPhone7) | 既存アプリ(iPhone7) |
---|---|
- Simulator用バイナリは以下のディレクトリに生成されます。
~/Library/Developer/CoreSimulator/Devices/<デバイス>/data/Containers/Bundle/Application/<アプリ>/TabSample.app
<デバイス>と<アプリ>ところは以下のように英数字で分かりにくいため、ディレクトリの更新日時でソートすれば直近のデバイス、アプリを特定できます。
~/Library/Developer/CoreSimulator/Devices/572FF8A8-CEE9-4C7D-98ED-A067379A23E0/data/Containers/Bundle/Application/E949B5F7-69F2-49F3-B9ED-0529F71CF832/TabSample.app
あとは、Application配下の「E949B5F7-69F2-49F3-B9ED-0529F71CF832/TabSample.app」を丸ごとiPhone XのSimulatorの同じApplicationディレクトリ配下にコピーするだけです。
iPhone X Simulatorにコピー
以下のように「TabSample」をiPhoneXのSimulatorにコピーしてSimulatorを再起動するとホーム画面にインストールされた状態となり起動できます。
ホーム(iPhone X) | 既存アプリ(iPhone X) |
---|---|
これでiPhone X対応を行わない既存のアプリがiPhone Xでどのように表示されるのかが確認できます。
噂通り、上下に黒い帯が表示され既存のレイアウトは崩れなさそうです。
動作も多分問題ないのでしょう。(ハードウェアに依存する機能は影響の可能性あり)
細かな点としては、この状態でもアプリの角は丸びを少し帯びています。
Xcode9.x (Swift3.2)でビルドした場合
ちなみに今回のコピーした既存アプリをXcode9でビルドすると以下のような違いになります。
既存アプリ(Xcode8ビルド) | 既存アプリ(Xcode9ビルド) |
---|---|
SafeAreaなどの考慮はしていませんが、上下がiPhone Xに最適化されているようです。