| Выберите платформу: | iOS+ Android Flutter Unity |
Воспользуйтесь этим руководством, если вы выполнили инструкции из руководства по началу работы, но на панели управления Crashlytics по-прежнему не отображаются сбои.
Как принудительно вызвать сбой, чтобы проверить реализацию
Добавьте в приложение код, который можно использовать для принудительного создания тестового сбоя.
Вы можете добавить в приложение кнопку, при нажатии на которую будет происходить сбой, используя следующий код: Кнопка называется "Проверить сбой".
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
UIKit
Swift
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let button = UIButton(type: .roundedRect) button.frame = CGRect(x: 20, y: 50, width: 100, height: 30) button.setTitle("Test Crash", for: []) button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside) view.addSubview(button) } @IBAction func crashButtonTapped(_ sender: AnyObject) { let numbers = [0] let _ = numbers[1] } }
Objective-C
#import "ViewController.h" @implementation ViewController ‐ (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(20, 50, 100, 30); [button setTitle:@"Test Crash" forState:UIControlStateNormal]; [button addTarget:self action:@selector(crashButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:button]; } ‐ (IBAction)crashButtonTapped:(id)sender { @[][1]; } @end
Создайте сборку и запустите приложение в Xcode, отключив отладчик Xcode.
Нажмите Сборка и запуск текущей схемы, чтобы собрать приложение на тестовом устройстве или в симуляторе.
Дождитесь запуска приложения и нажмите Остановить выполнение схемы или действия, чтобы закрыть исходный экземпляр приложения. В этом экземпляре был отладчик, который мешает работе Crashlytics.
Чтобы принудительно вызвать сбой и отправить первый отчет о нем, выполните следующие действия:
Откройте приложение на главном экране тестового устройства или симулятора.
В приложении нажмите кнопку "Test Crash" (Тестовый сбой), которую вы добавили с помощью кода выше.
После сбоя приложения запустите его снова из Xcode, чтобы оно могло отправить отчет о сбое в Firebase.
В консоли Firebase перейдите на панель DevOps & Engagement > Crashlytics, чтобы проверить отчет о сбое при тестировании.
Если вы обновили консоль, но тестовый сбой не появился в течение пяти минут, попробуйте включить ведение журнала отладки (см. следующий раздел).
Как включить журнал отладки для Crashlytics
Если вы не видите тестовый сбой на панели управления Crashlytics, включите ведение журнала отладки для Crashlytics, чтобы найти проблему.
Включите журнал отладки:
В Xcode выберите Product (Продукт) > Scheme (Схема) > Edit scheme (Изменить схему).
В меню слева нажмите Run (Выполнить) и перейдите на вкладку Arguments (Аргументы).
В разделе Arguments Passed on Launch (Аргументы, передаваемые при запуске) добавьте
-FIRDebugEnabled.
Вызвать тестовый сбой. В первом разделе этой страницы рассказывается, как это сделать.
В журналах найдите сообщение от Crashlytics, в котором есть следующая строка. Она подтверждает, что приложение отправляет данные о сбоях в Firebase.
Completed report submission
Если через пять минут вы не увидите этот журнал или сбой в разделе DevOps & Engagement (DevOps и взаимодействие) > Crashlytics на панели управления консоли Firebase, обратитесь в службу поддержки Firebase и приложите копию журнала, чтобы мы могли помочь вам устранить неполадку.
Дальнейшие действия
- Настройте отчеты о сбоях, добавив отчеты с запросом согласия, журналы, ключи и отслеживание некритических ошибок.