决定是否根据flag发送Crashlytics(Apple)报告

时间:2018-05-18 16:29:00

标签: ios crashlytics

我添加了一个切换到我的隐私权政策,允许用户选择不发送Crashlytics报告和Answers分析。我正在保存用户首选项中的首选项。

很容易不发送到答案;只需在检查用户首选项的if语句中包含对日志记录功能的调用。但是,一旦应用程序运行,我发现很难禁用Crashlytics报告。

我看了他们的文档,他们提到你可以让你的应用委托代表Crashlytics代表:

Crashlytics.sharedInstance().delegate = self
Fabric.with([Crashlytics.self])

然后在发送报告之前使用委托方法执行操作:

func crashlyticsDidDetectReport(forLastExecution report: CLSReport, completionHandler: @escaping (Bool) -> Void)
{
    // You should take some set of actions here based on knowing that a crash happened, but then make sure to call the completion handler
    // If you don't call the completion handler, the SDK will not submit the crash report.
    if reportsAllowed {
        completionHandler(true)
    }
}

然后我强制崩溃,下次我运行应用程序时,没有调用该方法(我在其中放置了一个断点)。

注意:我看到了这个答案(iOS Crashlytics - Block crash reports from being send to server),但这需要人们重启应用以进行选择加入/退出。

0 个答案:

没有答案