Упростите поиск неожиданных сбоев и их источников

Сегодня мы узнаем, как добавить Firebase Crashlytics в наше приложение для iOS в Swift, шаг за шагом. Мы также протестируем наше приложение, создав преднамеренный сбой, и увидим результат в консоли Firebase.

Firebase Crashlytics - отличный инструмент для наблюдения за сбоями и поиска источников этих сбоев.

Исходный код проекта доступен внизу статьи.

Давайте начнем

Сначала давайте создадим проект и дадим ему любое имя:

Теперь нам нужно добавить в наш проект CocoaPods. Перейдите в каталог проекта и выполните следующие команды в Терминале:

pod init - создает подфайл внутри нашего проекта.

open Podfile -a Xcode - открывает подфайл в Xcode.

Добавьте модули Firebase/Analytics, Crashlytics и Fabric:

Теперь вернемся в Терминал и запустим pod install:

С этого момента мы будем использовать файл .xcworkspace вместо .xcodeproj:

Настроить приложение Firebase

Откроем Firebase Console и создадим новый проект:

Тогда согласитесь добавить Analytics в наш проект:

И выберите учетную запись по умолчанию для Firebase:

Теперь откройте новый проект и выберите «iOS», чтобы добавить новое приложение:

Теперь скопируйте идентификатор пакета из Xcode и вставьте в поле:

Нажмите «Зарегистрировать приложение», затем загрузите файл GoogleService-Info.plist и добавьте его в свой проект Xcode:

Нажмите «Далее». Поскольку мы уже установили CocoaPods, снова нажмите «Далее».

Теперь нам нужно добавить код инициализации в наш AppDelegate.swift:

Теперь нам нужно создать и запустить наше приложение, и все ошибки (если они есть) должны исчезнуть.

Давайте нажмем «Далее» в консоли Firebase, и теперь мы видим, что Firebase успешно добавлена ​​в наше приложение:

Теперь нажмите «Продолжить в консоли», и давайте начнем добавлять Firebase Crashlytics в наше приложение.

Настроить Firebase Crashlytics

Давайте развернем вкладку «Качество» и выберем Crashlytics:

Выберите «Нет, настроить новое приложение Firebase». Теперь нам нужно установить SDK, выполнив следующие действия:

  • Откройте вкладку «Параметры сборки» в проекте Xcode, найдите «Формат отладочной информации» и выберите «DWARF с файлом dSYM»:

Теперь последний шаг: откройте вкладку Build Phases и добавьте новую фазу Run Script:

Добавьте “${PODS_ROOT}/Fabric/run” внутрь скрипта:

Мы успешно добавили Firebase Crashlytics в наше приложение.

Сбои при тестировании

Давайте быстро проверим, правильно ли работает Crashlytics. Измените ViewController, чтобы он соответствовал следующему:

И добавьте эту строку кода внутри didFinishLaunchingWithOptions() в AppDelegate.swift:

Fabric.sharedSDK().debug = true

Теперь эти шаги важны для создания и просмотра сбоев в консоли Firebase:

  • Создайте и запустите свое приложение
  • Остановить приложение из Xcode
  • Откройте приложение вручную со своего устройства или симулятора
  • Нажмите кнопку «Завершить работу приложения!» И увидите, как приложение вылетает, как и ожидалось.
  • Запустите приложение еще раз

Теперь в консоли будет напечатано следующее:

Это означает, что отчет о сбое был успешно отправлен в Firebase, и теперь мы можем видеть его в Crashlytics:

Если мы нажмем ‹compiler-generated›, мы увидим подробности сбоя:

Давайте выберем вкладку «Ключи», и теперь мы можем увидеть фактическую строку кода, в которой произошел сбой:

Мы успешно добавили и протестировали Firebase Crashlytics в нашем приложении.

Спасибо за прочтение!

Ресурсы

Исходный код проекта доступен на GitHub (вам нужно будет добавить свой GoogleService-Info.plist файл):



Заключение

Хотите узнать больше о Firebase Crashlytics? Посетите официальную документацию: