从 Crashlytics 3.0.0 开始,实现用户提示是应用程序的责任
Posted
技术标签:
【中文标题】从 Crashlytics 3.0.0 开始,实现用户提示是应用程序的责任【英文标题】:As of Crashlytics 3.0.0, implementing a user prompt is the application's responsibility 【发布时间】:2015-05-27 21:56:55 【问题描述】:我收到以下警告:
[Crashlytics:Crash] 警告:用户提示功能已启用。作为 Crashlytics 3.0.0,实现用户提示是应用程序的 责任。请参阅 Crashlytics.h 关于 -crashlyticsDidDetectReportForLastExecution:completionHandler:
当我使用 Xcode 运行它时出现在我的应用程序的日志中。看起来我使用的 Crashlytics 版本是 3.0.8(来自 Crashlytics.framework 中的 info.plist 文件)。
以下是 Crashlytics.h 文件中的相关文档:
/**
*
* Called when a Crashlytics instance has determined that the last execution of the
* application ended in a crash. This is called synchronously on Crashlytics
* initialization. Your delegate must invoke the completionHandler, but does not need to do so
* synchronously, or even on the main thread. Invoking completionHandler with NO will cause the
* detected report to be deleted and not submitted to Crashlytics. This is useful for
* implementing permission prompts, or other more-complex forms of logic around submitting crashes.
*
* Failure to invoke the completionHandler will prevent submissions from being reported. Watch out.
*
* Just implementing this delegate method will disable all forms of synchronous report submission. This can
* impact the reliability of reporting crashes very early in application launch.
*
**/
- (void)crashlyticsDidDetectReportForLastExecution:(CLSReport *)report completionHandler:(void (^)(BOOL submit))completionHandler;
从警告来看,我似乎不会收到通常的“发送崩溃报告?”在我的应用程序中提示。但是,我确实在崩溃后得到了这个。也就是说,我似乎没有必要实现这个 UI。那么,什么给了?这个警告真的是一个错误的警告,我们将来必须为此发送崩溃报告提示创建自己的 UI?
我还查看了文档https://dev.twitter.com/crashlytics/ios 和http://support.crashlytics.com/knowledgebase/topics/14721-crashlytics-sdk-for-ios 但找不到任何谈论自 3.0.0 以来的变化。
想法?
【问题讨论】:
【参考方案1】:来自 Fabric 的 Mike。
在 SDK 3.0 中,我们添加了对如何处理崩溃报告提交的更细粒度的控制,以便您和其他开发人员可以根据需要显示或不显示警报。如果您想实现自己的对话框,请关闭 Fabric 仪表板中的隐私对话框,然后使用提供的调用来执行此操作。
如果您想继续使用 Fabric 提供的隐私对话框,您可以,但我建议您创建一个新对话框,因为它更灵活并且可以根据您的应用程序的 UI 进行自定义。
【讨论】:
好的--谢谢你的快速反应,迈克!以上是关于从 Crashlytics 3.0.0 开始,实现用户提示是应用程序的责任的主要内容,如果未能解决你的问题,请参考以下文章
Crashlytics 显示哪些 Analytics 事件会导致崩溃?
iOS Fabric Crashlytics Answers Kit不收集数据
从 Fabric 切换到 Firebase Crashlytics 问题:缺少 Crashlytics 构建 ID
如何从 Fabric Crashlytics 迁移到 Firebase Crashlytics?