[iOS] iOS アプリのサポートデバイス方向指定 がうまく効いていない時に確認すること

iOS アプリのサポートデバイス方向指定 がうまく効いていない時に確認することを説明します

環境&対象

以下の環境で動作確認を行なっています。

  • macOS Monterery beta 5
  • Xcode 13 beta5
  • iOS 15

サポートする画面の方向

iOS アプリでは、サポートする画面(デバイス)の方向を指定することができます。

例えば、「このアプリは、ポートレイト(縦向き)にのみ対応し、ランドスケープ(横向き)にされても画面は回転されない」というようなアプリです。

Xcode を使用すると簡単に指定できるのですが、ケースによっては、想定していない動作をしている時があります。

具体的には、サポートをしていない デバイス方向になった時に、(サポートしないと指定しているのに)デバイスの方向に合わせて画面が回転してしまうことがあります。

この記事では、作成したアプリが、サポートすると指定した画面の向き以外に回転してしまうケースの対処方法を説明します。

MEMO
この記事で説明するのは、iPhone アプリのみです。iPad アプリは、別途考慮することが必要な要素があります。(具体的には、"Support multiple windows" の考慮が必要となります)

iOS アプリのサポートするデバイス方向指定

Xcode の General タブ中に以下のような設定画面があります。

DeviceOrientation

アプリがサポートする画面方向は チェックを つける・はずす ことで、設定できるハズです。

例えば、Portrait にのみ チェックを入れている時には、デバイスをどのような向きに回転しても、アプリは、Portrait 時の画面レイアウトのままでデバイスに合わせて回転しません。

ですが、その期待に沿わない時、例えば デバイスを横にすると、画面が回転されてしまう 時があります。

iOS アプリのサポートするデバイス方向指定(Info)

アプリのサポートするデバイス方向指定は、General タブだけでなく、Info タブでも確認することができます。

Info

デバイス方向指定がうまくいかない時に確認すること

General タブでの情報と Info タブでの情報が異なる指定となっている時には、Info タブが優先されるようです。

ですので、General タブで指定したデバイス方向通りにアプリが動作しない時には、Info タブの情報を確認して、指定を調整することで 問題を解決できる時があります。

MEMO
本来は、General タブの情報と Info タブの情報は 同期されるはずですが、なんらかの理由やタイミングで うまく同期しなくなってしまう時があるようです。

まとめ:iOS アプリのサポートデバイス方向指定 がうまく効いていない時に確認すること

iOS アプリのサポートデバイス方向指定 がうまく効いていない時に確認すること
  • General タブで正しく指定しているか確認する
  • Info タブに表示される情報が、General タブでの情報と一致するか確認する
  • Info タブの情報が期待する設定でなければ修正する

説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です