開発環境
Swift version 5.5.2
Xcode Version 13.2.1
Interface SwiftUI
問題
SwiftUIを使用しアプリを開発しているが、
画面を横向きに固定できず回転してしまう。
結論
xcodeprojで修正する
Xcode13だと効かないことがあるようですが、以下の手順全てを試したところ横向きのみに固定できました。
手順
1, Navigator areaのプロジェクト名をクリックし、.xcodeprojを開く。
2, TARGETS>GeneralのDevice Orientationで固定したい項目にチェックを入れる。
| 項目 | 内容 |
|---|---|
| .portrait | 通常 |
| .portraitUpsideDown | 逆さ |
| .landscapeLeft | 左向き |
| .landscapeRight | 右向き |
上記だけだと解決できなかったため以下の手順も試しました。
3, 手順2のGeneralではなくInfoを開く。
4, Supported interface orientations (iPhone)という項目の不要なitemを削除する。
どれが不要かはitemのvalueを確認してください。
※Supported interface orientations (iPhone)以外にもSupported interface orientations (iPad)やSupported interface orientationsなどがあるため注意してください
上記の内容で横向きのみの固定できました。
自分の場合はチェックする項目が足りていなかったため固定できませんでした。。。
少しでも皆様の参考になれば幸いです。
参考
【Xcode/Swift】画面の回転を固定する方法を2パターン紹介〜Xcode13からDevice Orientationが効かなくなった?〜