从Crashlytics 3.0.0开始,实现用户提示是应用程序的责任

我收到以下警告:

[Crashlytics:Crash]警告:已启用用户提示function。 从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以来的变化。

想法?

来自Fabric的Mike来自这里。

借助SDK 3.0,我们为如何处理崩溃报告提交添加了更细粒度的控制,以便您和其他开发人员可以显示或不显示警报。 如果要实现自己的对话框,请关闭Fabric仪表板中的隐私对话框,然后使用提供的调用来执行此操作。

如果您想继续使用Fabric提供的隐私对话框,您可以,但我鼓励您创建一个新的,因为它更灵活,可以根据您的应用程序的UI进行自定义。