当有另一个崩溃报告时,Crashlytics 不会发送崩溃报告 (Umeng)

Posted

技术标签:

【中文标题】当有另一个崩溃报告时,Crashlytics 不会发送崩溃报告 (Umeng)【英文标题】:Crashlytics don’t send crash report when there is another crash report (Umeng) 【发布时间】:2014-11-23 07:10:16 【问题描述】:

我已经在我的 ios 应用中实现了 Crashlytics (2.2.4) 以收集崩溃报告。我还为其他数据收集实现了另一个第三方组件(Umeng)。但是,打开友盟时,Crashlytics 不会发送报告。当我检查日志时,有这些可疑的警告:

[Crashlytics] Warning: NSUncaughtExceptionHandler is 'UmengHandleException'  
[Crashlytics] Warning: sigabrt handler is ‘UmengSignalHandler'  
[Crashlytics] Warning: sigbus handler is 'UmengSignalHandler' 
[Crashlytics] Warning: sigfpe handler is 'UmengSignalHandler' 
[Crashlytics] Warning: sigill handler is 'UmengSignalHandler' 
[Crashlytics] Warning: sigsegv handler is ‘UmengSignalHandler'

关闭友盟后,这些警告消失了,报告也发送好了。

我已将 Crashlytics 最后放在 AppDelegate 中调用,但警告仍然存在。 有没有办法解决这个问题,以便 Crashlytics 在友盟开启时发送报告?

【问题讨论】:

我也遇到过这种问题。但这不会有任何帮助,因为您说您将 crashlytics 调用放在最后。但是,它对我有用。我使用的另一个 SDK 是 testflight。这也是 crashlytics FAQ 中的建议。 support.crashlytics.com/knowledgebase/articles/… 嗨,@RaymondBrion,这个常见问题解答建议是我试图将这一行放在最后的原因。不幸的是,它对我不起作用。还有另一个链接似乎是相关的,但我不知道如何在我的情况下实现:我可以使用自定义异常处理程序吗? link 【参考方案1】:

自我回答。 我在友盟的支持论坛上得到了另一个开发者的建议,就是把set report disable方法放在startWithKey方法之前。诀窍是在 startWithKey 之前而不是之后使用此方法。我被这个陷阱困了两天。

[MobClick setCrashReportEnabled:NO];
[MobClick startWithAppkey:YOURKEY reportPolicy:YOURPOLICY channelId:YOURCHANNELID];

【讨论】:

您是否遇到过一个问题,如果您打开 crashlytics 调试模式,在触发崩溃后立即连接 Xcode,终端会提示“没有要提交的文件”。用***.com/questions/28521962/…检查我的问题 我通过你的回答解决了我的问题,看来友盟SDK确实阻止了异常以便进一步处理。

以上是关于当有另一个崩溃报告时,Crashlytics 不会发送崩溃报告 (Umeng)的主要内容,如果未能解决你的问题,请参考以下文章

Firebase crashlytics 不显示崩溃

Crashlytics - 当应用程序在未连接到 android studio 时崩溃时无法获取崩溃报告

Firebase Crashlytics 在手动启用时不报告崩溃

Crashlytics 不发送崩溃报告 [iOS]

如何强制 Crashlytics 上传报告并等待

Crashlytics 崩溃报告提到了 XposedBridge