diff --git a/ios/engine/KMEI/KeymanEngine/Classes/Errors/SentryManager.swift b/ios/engine/KMEI/KeymanEngine/Classes/Errors/SentryManager.swift index 0bb910bdcd..aac335227b 100644 --- a/ios/engine/KMEI/KeymanEngine/Classes/Errors/SentryManager.swift +++ b/ios/engine/KMEI/KeymanEngine/Classes/Errors/SentryManager.swift @@ -16,12 +16,17 @@ import os.log */ public class SentryManager { private static var _started: Bool = false + + // Set once Manager.shared is fully initialized and safe to reference. private static var engineHasInitialized: Bool = false public static var hasStarted: Bool { return _started } + /** + This method should be called once Manager.shared is fully initialized and safe to reference - a precondition needed to enable engine-state logging, such as current keyboard, etc when errors occur. + */ public static func setEngineInitialized() { engineHasInitialized = true } @@ -183,7 +188,6 @@ public class SentryManager { public static func forceError() { SentrySDK.addBreadcrumb(Sentry.Breadcrumb(level: .info, category: "Deliberate testing error")) - capture("Deliberate testing error", sentryLevel: .error) -// SentrySDK.crash() + SentrySDK.crash() } } diff --git a/ios/engine/KMEI/KeymanEngine/Classes/SettingsViewController.swift b/ios/engine/KMEI/KeymanEngine/Classes/SettingsViewController.swift index bb6b14ee1b..750b5d4c1c 100644 --- a/ios/engine/KMEI/KeymanEngine/Classes/SettingsViewController.swift +++ b/ios/engine/KMEI/KeymanEngine/Classes/SettingsViewController.swift @@ -111,13 +111,13 @@ open class SettingsViewController: UITableViewController { "reuseid" : "installfile" ]) -// #if DEBUG && !NO_SENTRY + #if DEBUG && !NO_SENTRY itemsArray.append([ "title": "Force a crash", "subtitle": "Test Sentry error-reporting integration", "reuseid" : "forcederror" ]) -// #endif + #endif _ = view }