在我们的iOS应用中,我们使用HockeyApp SDK和Firebase SDK。

我们在启动时直接在AppDelegate中初始化两者:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    BITHockeyManager.sharedHockeyManager().configureWithIdentifier(hockeyAppId);
    BITHockeyManager.sharedHockeyManager().startManager();
    BITHockeyManager.sharedHockeyManager().authenticator.authenticateInstallation();

    FIRApp.configure()

    [...]
}

问题是,当我们不激活Firebase时,崩溃报告会正确发送到HockeyApp,并且一切正常。但是,当我们激活Firebase时,HockeyApp端的崩溃报告就什么也没有发生。

为什么会这样呢? Firebase是否有可能阻止HockeyApp发送崩溃报告?以及如何解决这个问题呢?

信息:我知道HockeyApp不会通过附带的调试器发送崩溃报告。

非常感谢您的阅读!

最佳答案

不幸的是,从技术上讲,在一个应用程序中不能同时使用多个第三方崩溃报告工具。
iOS一次仅允许注册一个异常处理程序,因此,如果在HockeyApp SDK之后初始化Firebase,则Firebase异常处理程序将替换HockeyApp的内容,反之亦然。
您需要选择一个SDK来处理崩溃报告,并在另一个SDK中禁用崩溃报告功能。

10-08 05:24