Environment Device: iPad Air (5th generation, M1) OS Version: iPadOS 26.1 Device Orientation Lock: OFF Stage Manager / Multitasking: Disabled App Mode: Full screen (UIRequiresFullScreen = true) Supported Orientations: iPhone: Portrait + Landscape iPad: Landscape only
Description On iPadOS 26.x, when device orientation lock is OFF, iPad apps that support only landscape orientation can be displayed in portrait orientation, even though portrait is explicitly not supported for iPad. This issue: Occurs not only at app launch Can also happen during runtime, such as: Returning to the app from background Unlocking the device Rotating the device while the app is running Switching focus (Control Center, Notification Center, multitasking gestures) When orientation lock is ON, the system consistently respects the app’s supported interface orientations and the issue does not occur. This behavior is a regression in iPadOS 26.x.
Expected Behavior Regardless of device orientation lock state: The system should never display an app in an unsupported orientation supportedInterfaceOrientations must always be enforced Physical device orientation should only be applied within supported orientations
Actual Behavior With orientation lock OFF: The system can force the app into portrait orientation This happens even though portrait is not listed in UISupportedInterfaceOrientations~ipad The app UI becomes incorrectly laid out or broken With orientation lock ON: Orientation behavior is correct and stable This suggests iPadOS 26.x is allowing device orientation to override supportedInterfaceOrientations during runtime.
Info.plist Configuration
<key>UIRequiresFullScreen</key> <true/>
<key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array>
<key>UISupportedInterfaceOrientations~ipad</key> <array> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array>