Quick edge swipe on SFSafariViewController causes app to hang

Originator:meteochu
Number:rdar://23991500 Date Originated:23-Dec-2015 12:57 PM
Status:Duplicate of 23887854 Resolved:
Product:iOS Product Version:9.2
Classification:Crash/Hang/Data Loss Reproducible:Always
 
Summary:
If the view used to present SFSafariViewController and the SFSafariViewController have different `preferredStatusBarStyle`, the app will hang when you do a quick edge swipe dismissal gesture to a certain extent. In the attached project, when you present the Safari View, the previous view will add a colour indicator to show where to edge swipe to when dismissing for easier bug reproduction.

Steps to Reproduce:
1. Setup project to have a .LightContent preferredStatusBarStyle
2. Present SFSafariViewController
3. Do a quick edge swipe to about 1/5 of iPhone 6 screen width
4. Release your finger to cancel the gesture
5. Bug appears.

Expected Results:
Status Bar will remain the same. 
App will not hang, Safari View should be useable.
Edge Swiping back will return to original view


Actual Results:
Status bar turns into .LightContent
The entire view is disabled. 
NavigationBar and TabBar buttons are disabled
ScrollView in the web content does not register the scrolling
Edge swiping back to the original view will return to a blank view

Version:
iOS 9.2

Notes:
The example project can be found here: https://github.com/meteochu/SafariViewSwipeBug

Configuration:
All iPhone on iOS 9.2, including the simulator.

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!