Supported orientations has no common orientation with the application…というエラー

UnityでiOSビルドした後にXcodeで実機ビルドした際、以下のエラーが出ました。

UIApplicationInvalidInterfaceOrientation: Supported orientations has no common orientation with the application, and [UnityPortraitUpsideDownOnlyViewController shouldAutorotate] is returning YES

今回は原因に思い当たることがあったので、解決は簡単でした。
(正確には解決したというか回避したという感じですが。。。)

原因と解決方法

Unityエディタでの
Project Settings > Player > Resolution and Presentation > Orientation > Default Orientation
で、アプリの画面向きを指定することができるのですが、

その設定とXcode側での
General > Deployment Info > Device Orientation
での設定が一致していない場合に上記エラーが起きます。

Unityでビルドした際はXcode側の設定を勝手に行ってくれるので、普通はこのエラーは起きません。
しかし、Xcode側で一部の設定をいじってしまうと、Xcode内での設定が一致しなくなり、エラーになります。
(今回はUnityエディタ上での設定を間違えてしまい、ビルド後にXcode上で修正したために起こりました。)

正確にはUnityで端末向きの設定を行うと、ビルド時に複数箇所にその設定を自動で反映してくれるため、その一部を変更してしまうとおかしなことになってしまう、ということですね。

本来ならばXcodeでの修正方法を書くべきなのかもしれませんが・・・
今回はUnityエディタ上での指定ミスだったので、PlayerSettingsで再度指定し直してビルドすることで解決しました。

コメント