iOS的崩溃分析和报告[关闭]
Posted
技术标签:
【中文标题】iOS的崩溃分析和报告[关闭]【英文标题】:Crash analytics and reporting for iOS [closed] 【发布时间】:2012-08-03 15:44:03 【问题描述】:我们正在为我们的 ios 应用评估崩溃报告的第三方解决方案或自定义解决方案。我们正在研究 Crashlytics、BugSense、Testflight。它们似乎都达到了目的,即实时崩溃报告。 此外,我们一直在关注Xcode 4.2 debug doesn't symbolicate stack call 的自定义解决方案实现
2 个问题:
-
当我们想要使用它的唯一目的是崩溃报告时,第三方解决方案(Crashlytics、BugSense 等)是否比自定义解决方案更具优势?
我们可以向自定义异常处理程序添加多少功能,例如如果我想通过 HTTP post 将堆栈跟踪发布到服务器,我可以在异常处理程序中执行此操作,还是需要等到我的应用程序下次启动才能发送日志?异常处理程序应在多长时间内退出?
谢谢, 赫塔尔
【问题讨论】:
【参考方案1】:您不应该编写自己的崩溃报告解决方案,而应使用现有的解决方案,因为编写可靠且安全的崩溃报告程序很难。 PLCrashReporter 的开发人员 Landon Fuller 在本文中解释了原因:Reliable Crash Reporting
一般来说,一旦发生崩溃,就应该不惜一切代价避免运行任何非异步安全的代码!这意味着必须完全避免使用任何 Objective-C 代码。这也意味着您的崩溃报告应该只在下次启动时发送到您的服务器。您也不应该依赖默认使用 PLCrashReporter 的 3rd 方框架,因为无论框架做什么,都应该实现异步安全。
编写自己的异常处理程序几乎不会像基于 PLCrashReporter 的任何东西那样详细、良好和可靠。
除了您提到的第 3 方解决方案外,还有开源解决方案 QuincyKit(基于 PLCrashReporter 以及配套的基于 php 的基本服务器解决方案)和 HockeyApp,也可以与 QuincyKit 客户端一起使用。 (注:我是这两种方案的开发者之一)
【讨论】:
以上是关于iOS的崩溃分析和报告[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
ReactNative进阶(五十):IOS 系统 Crash 日志分析实战