Custom Modal Transitions Failing to Animate on Dismiss() in iOS 12

Originator:thompsonsfletcher
Number:rdar://44670617 Date Originated:9/21/2018
Status:Closed Resolved:
Product:iOS Product Version:12.0
Classification:Bug Reproducible:Always
 
Summary:
If a modal view controller has a custom animator, when dismiss(animated: Bool, completion: ((Bool)->Void)?) is called on its presenting view controller, its view hangs around on screen and becomes unresponsive. By switching out of the app and back in, one can get back to the presenting view controller.

This only appears to crop up in iOS 12.0.

Steps to Reproduce:
1. Unzip & open the attached project in Xcode. 
2. Build & run on any device or simulator running iOS 12.0.
3. Press the “Present” button. 
4. Press the “Dismiss” button. 

Expected Results:
Pre iOS 12.0: The modal (black) view controller visibly dismisses with the animation described in DismissAnimator.swift lines 17-38.

Actual Results:
iOS 12.0: The modal view controller’s view does not visibly change and becomes unresponsive. The animation’s completion block beginning at line 28 in DismissAnimator.swift is not called. The modal view controller’s view’s frame property is updated to the correct value.

Version:
iOS 12.0

Notes:
Manually switching out of app & back in seems to do away with the unresponsive view.

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!