gpt4 book ai didi

ios - 应用程序因 EXC_SOFTWARE/UNCAUGHT_NS_EXCEPTION 而崩溃

转载 作者:可可西里 更新时间:2023-11-01 06:13:26 26 4
gpt4 key购买 nike

我一直在收到 Firebase 崩溃报告,但我不确定是什么导致了崩溃。我一直无法通过在 Xcode 中进行测试来重现错误,但崩溃影响了几个不同的用户,所以我知道这不是个别设备特定的崩溃。以下是我所知道的关于崩溃期间发生的一切。然而,很明显,由于这是通过 Firebase 的崩溃报告报告的,所以我只有这么多信息。

  1. 所有崩溃都来自某种 iPad 设备,这可能是巧合,也可能不是巧合。

  2. 我可以从事件日志中看出,对于不同的用户,同样的崩溃在不同的屏幕上发生,所以崩溃可能是在 AppDelegate 类中的某个地方,但我不确定什么样的问题只会偶尔发生,比如这次崩溃。

  3. 崩溃跟踪中唯一我认为是我编码的点是 main (AppDelegate.swift:15) 但是我的 AppDelegate 文件中的第五行只是 AppDelegate像这样的类声明:

    类 AppDelegate:UIResponder,UIApplicationDelegate {

所以我不确定这部分有什么问题。

如果有任何您认为可能与崩溃相关的具体信息,请告诉我,我会尽可能提供。

崩溃痕迹:

Exception name: EXC_SOFTWARE / UNCAUGHT_NS_EXCEPTION

1
CoreFoundation
__exceptionPreprocess + 1224112
2
libobjc.A.dylib
objc_exception_throw + 32636
3
UIKit
-[UIPopoverPresentationController presentationTransitionWillBegin] + 9835108
4
UIKit
__71-[UIPresentationController _initViewHierarchyForPresentationSuperview:]_block_invoke + 3628972
5
UIKit
__56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 3621060
6
UIKit
_runAfterCACommitDeferredBlocks + 2912452
7
UIKit
_cleanUpAfterCAFlushAndRunDeferredBlocks + 2968188
8
UIKit
_afterCACommitHandler + 26016
9
CoreFoundation
__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 919332
10
CoreFoundation
__CFRunLoopDoObservers + 910536
11
CoreFoundation
__CFRunLoopRun + 911608
12
CoreFoundation
CFRunLoopRunSpecific + 35916
13
GraphicsServices
GSEventRunModal + 49284
14
UIKit
UIApplicationMain + 516228
15
Poker
main (AppDelegate.swift:15)
16
libdyld.dylib
start + 10420

最佳答案

我有一个类似的问题,这只是部分答案。

正如有人已经在评论中建议的那样,AppDelegate 刚好接近导致您的问题的调用链的根。当系统尝试执行 _initViewHierarchyForPresentationSuperview 时,问题一直发生在该链中。

自然地,您对 导致问题的代码行感兴趣。这些可能介于报告的 UIKit 相关调用行之间。我不知道如何直接使用给定的堆栈跟踪来找到导致问题的您(或我的)代码的根源。

但是,我确实知道如何接近这些线。我在 Firebase Crash reporting 中出现了意外的 NSException有一个类似于你的神秘调用堆栈,顶部有一条消息,如下所示:

enter image description here

单击显示的屏幕截图中的上传链接可得到: enter image description here

通过关注 instructions from Firebase并且研究如何获取与出现问题的应用程序版本相关的 dSYMS 符号文件(我使用的是 Bitcode,这使事情变得有点复杂;我最终去了 iTunes Connect 并做了一个 在应用程序的事件部分>下载dSYMS),我设法上传了正确的符号文件。 (在您的本地计算机上执行 mdfind "com_apple_xcode_dsym_uuids == *" 以查看您是否已经拥有所需的 UUID 标识的符号文件。)

然后 Firebase 显示的调用堆栈是这样的: enter image description here

下次问题发生时(我刚刚收到一封来自 Firebase 的电子邮件),我看到了这个: enter image description here

我现在唯一的问题是:引起问题的代码似乎很简单,在本地测试中不会引起任何问题。它只是显示我可以手动点击和验证的静态行数的一些 TextView 。

我现在正在尝试将代码包装在 do { ... } catch let error { ... } 中,看看在未来尚未上传的应用程序版本中我是否可以用它捕获内部错误并通过 Firebase 错误报告报告错误消息和一些其他详细信息。

关于ios - 应用程序因 EXC_SOFTWARE/UNCAUGHT_NS_EXCEPTION 而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41955446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com