Flutter: iPadの表示向きを固定できない 〜Xcode14での対処法
![](https://halzoblog.com/wp-content/uploads/2021/10/00_image000.png)
結論:新たに追加された「iPad Orientation」で設定する
2022/9/24 Flutter エラー・バグ日記
iOSアプリの向きを縦向き固定にする場合、Xcode上で、「TARGETS」の「Runner」→「General」タブ→「Device Orientation」で「Portrait」にのみチェックを入れれば良い。
しかし、iPadの場合は、チェックをしていても、端末の向きを変えると回転してしまう。
Flutterのコードの方にも、縦向きで固定するために、冒頭の「main」関数内に、下記メソッドを入れているが、それでも回転してしまう。
SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, ]);
かなり古いが、下記イシューにもコメントが上がっている。
対処法は、「TARGETS」の「Runner」→「Deployment info」の「Requires full screen」にチェックを入れるというもの。
早速、Xcode14で確認すると、上記参考記事とはやや状況が違っていた。
「Requires full screen」のチェックボックスはあるものの、その上に、今までは無かった「iPad Orientation」というゾーンが追加され、デフォルトで全項目にチェックが入っていた。
どうやらXcode14では、表示の向きを、iPhoneとiPadで個別に設定できるようになった模様。
![](https://halzoblog.com/wp-content/uploads/2022/09/20220924_image_001.png)
試したところ、以下2通りのいずれでも、iPadを縦向き固定にすることができた。
従前同様、「Requires full screen」にチェックする
![](https://halzoblog.com/wp-content/uploads/2022/09/20220924_image_002.png)
この場合、「iPad Orientation」については、全てにチェックもしくは「Portrait」か「Upside Down」にチェックすると縦向きに固定され、「Landscape Left」か「Landscape Right」にチェックすると横向きに固定された。
「iPad Orientation」の「Portrait」のみチェックする(「Requires full screen」はチェックしない)
![](https://halzoblog.com/wp-content/uploads/2022/09/20220924_image_003b.png)
こちらが、縦向き固定したい場合に、Xcode14で想定されている本来の使い方だと思われる。
いずれの方法でも分割表示(Split View)はできない。。
参考記事の情報では、「Requires full screen」にチェックすると、iPad特有の機能である分割表示(Split View)ができなくなる、とのことだった。
しかし、Xcode14で「iPad Orientation」の項目ができたことにより、「Requires full screen」にチェックしなくて済むので、この影響がなくなるのでは?と期待した。
しかし、「iPad Orientation」の「Portrait」にだけチェックして分割表示を試したところ、アプリ画面の上部に出てくるはずの「…」(分割表示を選択するためのメニューアイコン)が出てこなかった。
また、他のアプリを先に起動しておいて、分割表示相手として当該アプリを選ぶと、
Split View
Not Supported
![](https://halzoblog.com/wp-content/uploads/2022/09/20220924_image_004b.png)
というメッセージが表示され、結局、分割表示はできなかった。
※向きが固定されていると、分割相手が回転表示を許可している場合に、調整がつかなくなるためだろうと推察。
とは言え、Xcode14で、iPhoneとiPadで個別の設定ができるようになり、分かりやすくなったと思う。
\一般的なエラー対処法をまとめた記事はこちら/
リリースしたアプリ(全てFlutterで開発)
個人アプリ開発で役立ったもの
おすすめの学習教材
\超初心者向けでオススメな元Udemyの講座/
\キャンペーン時を狙えば安価で網羅的な内容が学べる(日本語訳あり)/
\Gitの基礎について無料で学べる/
おすすめの学習書籍
\実用的。image_pickerに関してかなり助けられた/
\Dartの基礎文法を素早くインプットできる/