ios – 应用程序崩溃与EXC_SOFTWAREUNCAUGHT_NS_EXCEPTION

ios – 应用程序崩溃与EXC_SOFTWAREUNCAUGHT_NS_EXCEPTION,第1张

概述我一直在收到Firebase崩溃报告,我不确定导致崩溃的原因.我一直无法通过在 Xcode中测试它来复制错误,但是崩溃影响了几个不同的用户,因此我知道这不是单个设备特定的崩溃.以下是我所知道的崩溃期间发生的一切.但是,很明显,因为这是通过Firebase的崩溃报告报告的,所以我只有很多信息. >所有的崩溃都来自某种iPad设备,这可能是也可能不是巧合. >我可以从事件日志中看出,不同用户在不同的屏 我一直在收到Firebase崩溃报告,我不确定导致崩溃的原因.我一直无法通过在 Xcode中测试它来复制错误,但是崩溃影响了几个不同的用户,因此我知道这不是单个设备特定的崩溃.以下是我所知道的崩溃期间发生的一切.但是,很明显,因为这是通过Firebase的崩溃报告报告的,所以我只有很多信息.

>所有的崩溃都来自某种iPad设备,这可能是也可能不是巧合.
>我可以从事件日志中看出,不同用户在不同的屏幕上出现同样的崩溃,因此崩溃可能在AppDelegate类中的某个地方,但我不确定只会偶尔发生这种崩溃会出现什么样的问题.
>崩溃跟踪中唯一一点,我认为是我编写的东西是主要的(AppDelegate.swift:15)但是我的AppDelegate文件中的第五行只是AppDelegate类声明,如下所示:

class AppDelegate:UIResponder,UIApplicationDelegate {

所以我不确定这部分会出现什么问题.

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

崩溃追踪:

Exception name: EXC_SOFTWARE / UNCAUGHT_NS_EXCEPTION1CoreFoundation__exceptionPreprocess + 12241122libobjc.A.dylibobjc_exception_throw + 326363UIKit-[UIPopoverPresentationController presentationTransitionWillBegin] + 98351084UIKit__71-[UIPresentationController _initVIEwHIErarchyForPresentationSupervIEw:]_block_invoke + 36289725UIKit__56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 36210606UIKit_runAfterCACommitDeferredBlocks + 29124527UIKit_cleanUpAfterCAFlushAndRunDeferredBlocks + 29681888UIKit_afterCACommitHandler + 260169CoreFoundation__CFRUNLOOP_IS_CALliNG_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 91933210CoreFoundation__CFRunLoopDoObservers + 91053611CoreFoundation__CFRunLoopRun + 91160812CoreFoundationCFRunLoopRunspecific + 3591613GraphiCSServicesGSEventRunModal + 4928414UIKitUIApplicationMain + 51622815Pokermain (AppDelegate.swift:15)16libdyld.dylibstart + 10420
解决方法 我有类似的问题,这只是一个部分答案.

正如有人在评论中建议的那样,AppDelegate只是接近引起问题的调用链的根.当系统尝试执行_initVIEwHIErarchyForPresentationSupervIEw时,问题会在该链中一直发生.

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

但是,我知道如何更接近这些界限.我有一个意想不到的NSException,在Firebase Crash reporting中出现了一个与你的类似的神秘调用堆栈,并且如上所示:

点击显示的屏幕截图中的上传链接即可:

通过跟随instructions from Firebase和相当多的研究或研究如何获得与发生问题的应用程序版本相关的dSYMS符号文件(我正在使用Bitcode,这使事情变得复杂;我最终进入iTunes Connect和在应用程序的“活动”部分中下载dSYMS,我设法上传了正确的符号文件. (在本地计算机上执行mdfind“com_apple_xcode_dsym_uuIDs == *”,以查看是否已经具有所需的UUID标识符号文件.)

Firebase随后显示的调用堆栈是:

下次出现问题时(我刚从Firebase收到了相应的电子邮件),我看到了这个:

我现在唯一的问题是:似乎导致问题的代码非常简单,并且不会在本地测试中引起任何问题.它只是显示一些静态行数的文本视图,我可以手动点击并验证.

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

总结

以上是内存溢出为你收集整理的ios – 应用程序崩溃与EXC_SOFTWARE / UNCAUGHT_NS_EXCEPTION全部内容,希望文章能够帮你解决ios – 应用程序崩溃与EXC_SOFTWARE / UNCAUGHT_NS_EXCEPTION所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1002294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存