2007年にiPhoneが出て、2026年 iPhone Duoが発売される予定になっています。iPhone 5対応をした覚えがあるのでかれこれ15年以上はiOSアプリエンジニアとしてさまざまな端末に対応してきました。
新しい端末が出てきた時に考えることを書きます。
放っておいたらどうなるか?
始めに何も対応せずに端末が発売されてアプリが使われた場合のことを考えます。基本的にはAppleは互換モードで動作します。放っておいても最近は問題は起きません。 iPhoneのみに対応したアプリをiPadで動かした時のようにiPhoneのような表示がされます。 Vision ProのようにiOSアプリがVision Proのアプリとして公開される場合があります。公開したくない場合は、App Store Connectでの設定が必要な場合があります。設定の有無を確認しておきます。
どこまで対応するか?
全く何もしないから完全に対応するまでの対応度合いを考えて、コストに似合うまで行います。多くの場合は下記の対応度合いに分けて考えます。 * 全く対応しない * 壊れていたとしても放置する。変更する気のないアプリに対して行う。 * 動作するように変更する * ボタンが押せない。はみ出すということがないようにする。動くけど、レイアウトが崩れていても気にしない。サービスは継続するが力入れていないようなアプリで行う。 * 例えば次のようなことは気にしない。ボタンの横幅が広すぎる。バナーが大きい or アスペクト比が崩れる。空白が広い。 * レイアウトを修正する * 端末にあったレイアウトにする。力を入れているアプリに行う。 * iPhone Duoの場合は、ヘッダーやフッターがサイドバーにレイアウトできるので、サイドバーに置く。 * 最適化する * 端末にあった表示をする。主要な端末だと考えられる場合に行う。 * iPhone Duoの場合は、NavigationSplitViewの表示がiPadのようになるので、iPad対応相当のことを行う。
実際にどう対応していくか?
発表されたスペックや動画から端末の機能や画面サイズ、レイアウトのされ方を推定します。おおまかな対応度合いを決めておきます。
事前にシミュレータや近い端末がある場合は、動作を確認してどのように動くかを確認します。デザイナと対応度合いを決定してレイアウトを詰めていきます。
「レイアウトを修正する」以上の対応度合いにするならば、その端末を購入することを検討する。「最適化する」なら端末は購入して開発者の誰かが常に使っている状態にしておくことが好ましい。
対応に時間がかかるのであればXcodeのバージョンをしばらく上げないといった対応をすることを検討する。時間がかかりすぎる場合は初回の対応度合いを落として、リリースごとに対応度合いを上げていく。
