hishidaの開発blog

EBシリーズ(EBPocket,EBWin,EBMac,EBStudio),KWIC Finder,xdoc2txt,読書尚友の開発者ブログ

iPhone X の解像度の問題

「EBPocket が iPhone Xに対応していない」というご意見を頂いたので、Xcode 9 のエミュレータで確認したところ、横画面のときに検索一致リストと本文の横幅がイビツになっていることがわかった。次のスクリーンショットのように、本文の方が幅が狭くなっている。本当は横位置の時は本文の幅を広く取りたい。

これはiPhone X だけアスペクトレシオが2:1と縦長であることが原因だ。

バイス 画面サイズ 画面解像度 アスペクト比
iPhone X 5.8 inch 2436 x 1125 2:1
iPhone 8 Plus/ 7 Plus/ 6s Plus/ 6 Plus/ 5.5 inch 1920 x 1080 16:9
iPhone 8 / 7 /6s / 6 4.7 inch 1334 x 750 16:9
iPhone5/5S/5c/SE 4.0 inch 1136 x 640 16:9
iPhone4/4S 3.5 inch 960 x 640 3:2
iPhone3G/3GS 3.5 inch 480 x 320 3:2

これまでは短辺側の幅が必ず本文の幅だったが、iPhoneXだと横位置の時は、検索一致リスト側を短辺の幅にしないといけない。修正後はこんな感じ。

エミュレータでしか検証していないので不安だが、とりあえず修正版を提出してみた。

P.S.
当方の開発環境は未だにOS X El CapitanおよびXcode8だが、どうやらXcode8でビルドして提出すると、iPhone X の全画面にならず、上下に黒い領域が表示されるらしい。Xcode9 はmacOS Sierra以上の対応なので、Xcode9 で本番用のプログラムをビルドして提出するには、メインのMacbook promacOS Sierraか High Sierra にアップデートし、Xcode9をインストールしなければならない。環境を完全にバックアップする必要もあるので、たぶん1日がかりの仕事になる。対応にはまだしばらく時間がかかる模様。