我们仅针对 iOS 15 发生崩溃,并带有描述:“向不包含警报控制器的视图控制器请求其包含的警报控制器” 我们无法找到有问题的代码。并且也无法重现崩溃。 Stacktrace 并没有告诉我们太多。
iOS15 有任何已知问题吗?
Staktrace(来自 Xcode 和 AppCenter):
最后一个异常回溯
核心基础 __exceptionPreprocess libobjc.A.dylib objc_exception_throw 基础 -[NSAssertionHandler handleFailureInMethod:对象:文件:行号:描述:] UIKitCore +[UIAlertController _alertControllerContainedInViewController:] UIKitCore -[_UIAlertControllerAnimatedTransitioning _alertControllerForContext:] UIKitCore -[_UIAlertControllerAnimatedTransitioningtransitionDuration:] UIKitCore -[UIPresentationController runTransitionForCurrentState] UIKitCore -[_UIAfterCACommitBlock 运行] UIKitCore _runAfterCACommitDeferredBlocks UIKitCore _cleanUpAfterCAFlushAndRunDeferredBlocks UIKitCore _afterCACommitHandler CoreFoundation CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION CoreFoundation __CFRunLoopDoObservers CoreFoundation __CFRunLoopRun CoreFoundation CFRunLoopRunSpecific GraphicsServices GSEventRunModal UIKitCore -[UIApplication _run] UIKitCore UIApplicationMain MobileBank main main.swift:13 0x000000010b891a24
在我的例子中,错误是由用于在开始显示后立即显示警报的 viewController 的动画弹出引起的。崩溃并不是每次都会发生,所以我认为这是两个动画操作之间的一些竞争条件:显示警报和弹出 viewController。 我已经通过在警报解除时弹出 viewController 来修复它