曲棍球应用程序在上一个会话中确实崩溃了

Hockey app did crash on last session

我正在使用此功能来检测应用程序是否在上次会话中崩溃,但总是 returns 相同的结果,无论我如何放置 "fatalError" 或任何其他错误。我做错了什么?

    private func didCrashInLastSessionOnStartup() -> Bool {

            //returns false
            NSLog("\(BITHockeyManager.sharedHockeyManager().crashManager.didCrashInLastSession)")

            //returns -1
            NSLog("\(BITHockeyManager.sharedHockeyManager().crashManager.timeIntervalCrashInLastSessionOccurred)")

            return (BITHockeyManager.sharedHockeyManager().crashManager.didCrashInLastSession) &&
                (BITHockeyManager.sharedHockeyManager().crashManager.timeIntervalCrashInLastSessionOccurred < 5)
        }

这是我的 didFinishLaunchingWithOptions:

BITHockeyManager.sharedHockeyManager().configureWithIdentifier("<id>", delegate: self)
BITHockeyManager.sharedHockeyManager().crashManager.crashManagerStatus = .AutoSend;
BITHockeyManager.sharedHockeyManager().debugLogEnabled = true
BITHockeyManager.sharedHockeyManager().startManager()
BITHockeyManager.sharedHockeyManager().authenticator.authenticateInstallation();

if self.didCrashInLastSessionOnStartup() {
            NSLog("Crashed on last session")
        } else {
            self.setupApplication()
        }

我的委托职能:

func crashManagerWillCancelSendingCrashReport(crashManager: BITCrashManager!) {
        if self.didCrashInLastSessionOnStartup() {
            self.setupApplication()
        }
    }

func crashManager(crashManager: BITCrashManager!, didFailWithError error: NSError!) {
        if self.didCrashInLastSessionOnStartup() {
            self.setupApplication()
        }
    }

func crashManagerDidFinishSendingCrashReport(crashManager: BITCrashManager!) {
        if self.didCrashInLastSessionOnStartup() {
            self.setupApplication()
        }
    }

问题是您正在使用额外的第 3 方 SDK,这些 SDK 包含崩溃报告功能并在代码中的 HockeySDK 之后初始化它们。 (通过您的支持请求发现了这一点,并且该信息从来不是您描述情况的问题的一部分)

您只能在您的应用中使用一个 3rd 方崩溃报告库,您初始化的最后一个将永远是唯一有效的。