Как переключить отчет Crashlytics по схеме в приложении iOS? - PullRequest
0 голосов
/ 14 мая 2018

В моем приложении для iOS используются Crashlytics и несколько схем, позволяющих различать сборку релиза и сборку разработки.

Полагаю, что отчет о сбоях в Crashlytics включает все отчеты в сборках Release и Development. Можно ли переключить отчет Crashlytics по схеме?

1 Ответ

0 голосов
/ 14 мая 2018

Используя эти макросы препроцессора, вы можете легко определить, когда ваше приложение находится в той или иной схеме,

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

Вы можете проверить этот ответ для получения дополнительной информации о Условная компиляция - Схема проверки

затем вы можете добавить пользовательский ключ со значением DEBUG для ключа Scheme на примере

    #if DEBUG
    Crashlytics.sharedInstance().setObjectValue("DEBUG", forKey: "Scheme")
    #else
    Crashlytics.sharedInstance().setObjectValue("RELEASE", forKey: "Scheme")
    #endif

если вы поместите этот код в метод Application didFinishLaunchingWithOptions, все ваши отчеты о сбоях в DEBUG будут иметь значение "DEBUG" в ключе "Scheme"

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

Оказавшись там с кнопкой переключения клавиш в Ключи , вы можете увидеть схему в качестве ключа и значение в этом случае ОТЛАДКА

enter image description here

...