在我们的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不会使用附加的调试器发送崩溃报告。
非常感谢阅读!
答案 0 :(得分:6)
遗憾的是,从技术上讲,在一个应用中同时使用多个第三方崩溃报告工具是不可能的。
iOS只允许一次注册一个异常处理程序,因此如果您在HockeyApp SDK之后初始化Firebase,Firebase异常处理程序将取代HockeyApp,反之亦然。
您需要选择一个SDK来处理崩溃报告,并在另一个中禁用崩溃报告功能。