Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS的崩溃分析和报告_Iphone_Ios_Ipad_Crash - Fatal编程技术网

Iphone iOS的崩溃分析和报告

Iphone iOS的崩溃分析和报告,iphone,ios,ipad,crash,Iphone,Ios,Ipad,Crash,我们正在评估iOS应用程序的第三方解决方案或定制解决方案,以进行崩溃报告。我们正在看Crashlytics,BugSense,Testflight。它们似乎都是为了实现实时事故报告的目的。 此外,我们一直在研究定制解决方案的实现 2个问题: 当我们希望将第三方解决方案(Crashlytics、BugSense等)用于崩溃报告的唯一目的时,它是否比定制解决方案具有优势 我们可以向自定义异常处理程序添加多少功能,例如,如果我想使用HTTP post将stacktrace发布到服务器,我可以在异常处理

我们正在评估iOS应用程序的第三方解决方案或定制解决方案,以进行崩溃报告。我们正在看Crashlytics,BugSense,Testflight。它们似乎都是为了实现实时事故报告的目的。 此外,我们一直在研究定制解决方案的实现

2个问题:

  • 当我们希望将第三方解决方案(Crashlytics、BugSense等)用于崩溃报告的唯一目的时,它是否比定制解决方案具有优势
  • 我们可以向自定义异常处理程序添加多少功能,例如,如果我想使用HTTP post将stacktrace发布到服务器,我可以在异常处理程序中执行此操作,还是需要等到我的应用程序下次启动后再发送日志?异常处理程序应该多久退出
  • 谢谢,
    Hetal

    您不应该使用自己的崩溃报告解决方案,而应该使用现有的解决方案,因为编写一个可靠、安全的崩溃报告程序很难。的开发者Landon Fuller在本文中解释了原因:

    一般来说,一旦崩溃发生,应该不惜任何代价避免运行任何非异步安全代码!这意味着必须避免使用任何Objective-C代码。这也意味着您的崩溃报告只应在下次启动时发送到服务器。您也不应该依赖于默认情况下使用PLCrashReporter的第三方框架,因为该框架所做的任何事情都应该实现为异步安全的

    编写自己的异常处理程序将很难像基于PLCrashReporter的任何东西那样详细、良好和可靠

    除了您提到的第三方解决方案之外,还有开源解决方案(基于PLCrashReporter和配套的基于PHP的基本服务器解决方案),也可以与QuincyKit客户端一起使用。(注意:我是这两个解决方案的开发人员之一)