Supported interface orientations ignored in iOS 9

Originator:arturgrigor
Number:rdar://22854526 Date Originated:25-Sep-2015 01:02 PM
Status:Open Resolved:
Product:iOS SDK Product Version:9.0.0
Classification:UI/Usability Reproducible:Always
 
Summary:
`shouldAutorotate()` and `supportedInterfaceOrientations()` are ignored by iOS 9 when `UISupportedInterfaceOrientations~ipad` entry from Info.plist specifies all the possible values.

Steps to Reproduce:
1. Set the `UISupportedInterfaceOrientations~ipad` Info.plist entry to support all interface orientations (`UIInterfaceOrientationPortrait`, `UIInterfaceOrientationPortraitUpsideDown`, `UIInterfaceOrientationLandscapeLeft` and `UIInterfaceOrientationLandscapeRight`)
2. Set in a view controller ```override func shouldAutorotate() -> Bool { return false }``` and ```override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { return [UIInterfaceOrientationMask.Portrait] }```
3. Run the app
4. Rotate the device

Expected Results:
The app should not change the interface orientation because only `UIInterfaceOrientationPortrait` is supported by that view controller.

Actual Results:
The interface orientation is changed.

Version:
iOS 9.0.1 (13A404)

Notes:
The problem happens only when using iOS 9.0.*. In iOS 8.4.1 it works just fine.

Configuration:
iPad Air 32GB

Attachments:
'Test Orientations.zip' was successfully uploaded.

Comments

This issue does not occur in iOS 9.2, but does occur again in iOS 9.2.1


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!