【发布时间】:2014-12-26 15:41:25
【问题描述】:
主要思想是捕获崩溃日志(或错误原因)并将其发送到服务器。 我知道 iTunes 确实会记录来自用户设备的崩溃,但我需要找到是否有办法获取它并将其存储在我们的服务器上。
我正在尝试“PlCrashReporter”并且我完成了它的实现(正如他们在此链接上所做的那样 https://www.plcrashreporter.org/documentation/api/v1.0/example_usage_iphone.html)。
问题
发生崩溃时不调用函数applicationDidFinishLaunching。
我在正确的轨道上吗? AppDelegate 中是否存在在崩溃时调用的特定函数?
提前致谢
编辑
我也尝试过以下问题的解决方案:
iOS crash log catch, debug info.. Catch and send via email to the Dev team
它确实有效,但有一些错误是由 Swift 而不是 Objective-C 引起的(例如 在展开可选值时出错)没有被捕获..
有什么建议吗?
【问题讨论】:
-
崩溃报告必须在下次应用启动时发送。 PLCrashReporter 也建议这样做。
-
有什么办法可以修改PLCrashReporter的代码,让它在崩溃时发送崩溃报告? @Kerni
-
强烈建议不要尝试此操作,因为它会使您的用户数据面临数据损坏甚至锁定设备的高风险。不要不要走那条路!
-
任何数据。您的应用程序崩溃了,这意味着它处于高度不稳定的状态,无法做出任何保证。例如。即使在应用程序崩溃时只调用一个 Objective-C 或 Swift 方法也可能导致数据丢失。这是PLCrashReporter作者的一篇文章:landonf.bikemonkey.org/code/crashreporting/…我只能重复自己:别想走那条路!
标签: ios exception swift crash plcrashreporter