Question about continuous PushViewController

Hello,

I had a crash which is on the main thread.


0

CoreFoundation

__exceptionPreprocess

1 

objc_exception_throw

2

CoreFoundation

-[NSCache init]

3

UIKitCore

-[UIView(Internal) _addSubview:positioned:relativeTo:]

4

UIKitCore

__53-[_UINavigationParallaxTransition animateTransition:]_block_invoke_2

5

UIKitCore

+[UIView(Animation) performWithoutAnimation:]

6

UIKitCore

__53-[_UINavigationParallaxTransition animateTransition:]_block_invoke

7

UIKitCore

+[UIView(Internal) _performBlockDelayingTriggeringResponderEvents:]

8

UIKitCore

-[_UINavigationParallaxTransition animateTransition:]

9

UIKitCore

-[UINavigationController _startCustomTransition:]

10

UIKitCore

-[UINavigationController _startDeferredTransitionIfNeeded:]

11

UIKitCore

-[UINavigationController __viewWillLayoutSubviews]

12

UIKitCore

-[UILayoutContainerView layoutSubviews]

13

UIKitCore

-[UIView(CALayerDelegate) layoutSublayersOfLayer:]

14

QuartzCore

-[CALayer layoutSublayers]

15

QuartzCore

CA::Layer::layout_if_needed(CA::Transaction*)

16

QuartzCore

CA::Context::commit_transaction(CA::Transaction*)

17

QuartzCore

CA::Transaction::commit()

18

QuartzCore

CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*)

It looks like that when UINavigationController is animating , another push operation is running.

So the error may looks like :


navigationController?.pushViewController(vc1, animated: true)        

navigationController?.pushViewController(vc2, animated: true)

Our users have this crash, mainly on iOS 12, 13, 14, without iOS15.

We have tested it on Xcode13.x , the crash of attached images will not appear in continuous PushViewController.

But we found that :

  • the second push operation seems to be slower. It feels like the second push is performed after the first push animation.

So I would like to ask, on iOS15, is there any special treatment for multiple consecutive pushes?

Thanks.

Do you have an Apple crash report for this? If so, please post it in full, using the instructions in Posting a Crash Report.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Question about continuous PushViewController
 
 
Q