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.