曲棍球应用程序在上次会议上崩溃了

时间:2016-08-23 15:12:59

标签: swift hockeyapp

我使用此功能检测应用程序是否在上次会话中崩溃,但总是返回相同的结果,无论我放置的方式和位置" 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()
        }
    }

1 个答案:

答案 0 :(得分:1)

问题是您正在使用其他第三方SDK,其中包含崩溃报告功能,并在代码中的HockeySDK之后初始化这些功能。 (通过您的支持请求发现,并且该信息从未成为描述情况的问题的一部分)

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