Swiping back using the 9.2 Safari View Controller makes the app unresponsive when using different status bar style

Originator:insanj
Number:rdar://24011284 Date Originated:26-Dec-2015 02:31PM
Status:Open Resolved:No
Product:iOS Product Version:9.2
Classification:Crash/Hang/Data Loss Reproducible:Yes
 
Summary:
When swiping back from Safari View Controller in iOS 9.2, if the presenting controller has a different preferredStatusBarStyle, it will deallocate improperly and cause the entire app to stop responding. Although buttons and cells will show the selected state change and animate, none actually perform their actions properly.

Steps to Reproduce:
1. Enable the Info.plist key "View-controlled based status bar appearance"
2. Implement a view controller which presents Safari View Controller
3. Implement the preferredStatusBarStyle method with UIStatusBarStyleLightContent in that view controller
4. Swipe back to dismiss the Safari View Controller and attempt to interact with the app — occasionally this takes 2 attempts to occur, such as with an example project: https://github.com/insanj/SafariSwipeReproducer

Expected Results:
Normal app functionality. Nothing works after swiping back Safari View Controller, forcing every user to kill and relaunch the app.

Actual Results:
Unresponsive app. Nothing launches or pushes or presents. Although selection state animates (touches work fine), nothing else does.

Version:
iOS 9.2 [13C75]

Notes:
I made an example project to demonstrate this bug: https://github.com/insanj/SafariSwipeReproducer

Configuration:
Found on all simulators and all iOS 9.2 Devices

Comments


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!