Rotation callbacks are called twice for controllers within a UISplitViewController

Originator:steipete
Number:rdar://19810773 Date Originated:12-Feb-2015 12:47 PM
Status:Closed Resolved:
Product:OS X Product Version:8.1.3
Classification:UI/Usability Reproducible:Always
 
Summary:
Observe that all rotation callbacks in the content view controller are called twice; once from the UISplitViewController and a second time from the UIPresentationController. This is a regression from iOS 7; where they were simply called from UISplitViewController.

Steps to Reproduce:
Open attached sample, rotate iPad Simulator; observe this:

2015-02-12 12:46:01.236 SplitViewControllerRotationCallbackCalledTwice[66805:1957569] Called -[ContentViewController willRotateToInterfaceOrientation:duration:]
2015-02-12 12:46:01.237 SplitViewControllerRotationCallbackCalledTwice[66805:1957569] Called -[ContentViewController willRotateToInterfaceOrientation:duration:]
2015-02-12 12:46:01.239 SplitViewControllerRotationCallbackCalledTwice[66805:1957569] Called -[ContentViewController willAnimateRotationToInterfaceOrientation:duration:]
2015-02-12 12:46:01.242 SplitViewControllerRotationCallbackCalledTwice[66805:1957569] Called -[ContentViewController willAnimateRotationToInterfaceOrientation:duration:]
2015-02-12 12:46:01.655 SplitViewControllerRotationCallbackCalledTwice[66805:1957569] Called -[ContentViewController didRotateFromInterfaceOrientation:]
2015-02-12 12:46:01.655 SplitViewControllerRotationCallbackCalledTwice[66805:1957569] Called -[ContentViewController didRotateFromInterfaceOrientation:]

Expected Results:
Rotation callbacks should be called only once and in correct order.

Actual Results:
Double calls within the same runloop; broke quite a bit of our logic.

Regression:
Works as expected on iOS 7.

Notes:
At least that one was easy to reproduce.

Comments

Fixed in iOS 9

Example: http://cl.ly/1T0U1Z0p2h1U


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!