… iPad
The orientation lock saved the device's orientation when it was turned on.
A phone lying flat reports face up, which counted as portrait, so turning
the lock on in bed with the app in landscape flipped it to portrait. It now
saves the interface's orientation, in the same stored format, so existing
locks keep working.
iPad never honored the lock: iOS doesn't ask an app that supports
multitasking for its supported orientations. iOS 26's interface orientation
lock preference didn't help either; the iPad simulator never applied it, in
full screen or windowed. So the toggle now shows on iPhone only, where it
works, including iPhone Duo while closed (its inner display ignores locks).
The rule both root controllers repeated moves to OrientationLock.
Problem
Changes
OrientationLock(new): the rule both root controllers repeated (AppHostingViewController,AppNavigationController), plus saving and clearing.effectiveGeometry.interfaceOrientation), in the same stored format, so existing locks keep working.SettingsAppearanceSectionView: the toggle shows on iPhone only (iPhone Duo included, where it works while closed).Tried and dropped
iOS 26's interface orientation lock preference (
prefersInterfaceOrientationLocked, set only while the scene is in the saved orientation) as the iPad mechanism. On the iPad simulator, in both Full Screen Apps and Windowed Apps, iOS asked the presented controller once, gottrue, and never applied it:effectiveGeometry.isInterfaceOrientationLockedstayed false, the UI kept rotating, and it never asked again aftersetNeedsUpdateOfPrefersInterfaceOrientationLocked().Testing