如何在iOS应用中按计划切换Crashlytics报告?

时间:2018-05-14 03:39:05

标签: ios swift xcode crashlytics

我的iOS应用程序使用Crashlytics和几种方案来区分发布版本和开发版本。

我想Crashlytics中的崩溃报告包括发布和开发版本中的所有报告。 我可以按计划切换Crashlytics报告吗?

1 个答案:

答案 0 :(得分:1)

使用此预处理器宏,您可以轻松识别您的应用程序何时处于一个或多个方案中,

    #if DEBUG
        debugPrint("Debug")
    #else
        debugPrint("Release")
    #endif

您可以查看此答案,了解有关Conditional Compilation - Check Scheme

的更多信息

然后您可以通过示例

添加具有Scheme键的DEBUG值的自定义键
    #if DEBUG
    Crashlytics.sharedInstance().setObjectValue("DEBUG", forKey: "Scheme")
    #else
    Crashlytics.sharedInstance().setObjectValue("RELEASE", forKey: "Scheme")
    #endif

如果您将该代码放在Application didFinishLaunchingWithOptions方法中,那么DEBUG中的所有崩溃报告都将在“Scheme”键中显示值“DEBUG”

<强> FullCode

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    Fabric.sharedSDK().debug = true
    Fabric.with([Crashlytics.self,Answers.self])
    #if DEBUG
    Crashlytics.sharedInstance().setObjectValue("DEBUG", forKey: "Scheme")
    #else
    Crashlytics.sharedInstance().setObjectValue("RELEASE", forKey: "Scheme")
    #endif

    return true
}

然后在Fabric页面中,您将能够在崩溃报告中看到它,选择所有会话

enter image description here

中使用按键切换按钮后,您可以将Scheme视为键,此时的值为 DEBUG

enter image description here