UIPercentDrivenInteractiveTransition can cause popping navigation transition to stall if interactive part begins before UIScrollView rubber band animation completes

Originator:an00na
Number:rdar://23355744 Date Originated:02-Nov-2015 11:21 AM
Status:Open Resolved:
Product:iOS SDK Product Version:iOS 9.1
Classification:Serious Bug Reproducible:Always
 
The bug I found is similar to 21961293 but not exactly the same. It happens for a custom popping navigation transition for UINavigationController. My app is very complex and I haven’t been able to make a producible sample project yet.

The behavior is like this:
1. On a pushed view controller with table view, over pull upward so that rubber band animation will begin after releasing the finger.
2. Start panning edge to interactively pop the view controller as soon as releasing the over-pulling finger.
3. Finish popping by calling finishInteractiveTransition.
4. The completion block of -[UIView animateWithDuration:delay:options:animations:completion] is never called.

Comments

Was pulling my hair out for ages on this problem. In the end, by profiling, I found that during the animation Apple's code was spending a lot of time trying to load a non-existent custom font used on the new screen. Following "thetrutz"'s technique to grep my Storyboards for such fonts and cleaning up the references (http://stackoverflow.com/questions/27375640/all-exeption-break-point-is-stoping-for-no-reason-on-simulator), my animations were reliably completing again on my interactive transitions! I can only imagine that some kind of internal exception was being raised that interfered with the animation.


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!