曲棍球应用程序在上一个会话中确实崩溃了
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 方崩溃报告库,您初始化的最后一个将永远是唯一有效的。
我正在使用此功能来检测应用程序是否在上次会话中崩溃,但总是 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 方崩溃报告库,您初始化的最后一个将永远是唯一有效的。