Wymuszanie awarii w celu przetestowania implementacji
- Dodaj do aplikacji kod, którego możesz użyć, aby wymusić awarię testową. - Aby dodać do aplikacji przycisk, który po naciśnięciu spowoduje awarię, możesz użyć tego kodu. Przycisk ma etykietę „Test Crash”. - 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 
- Utwórz i uruchom aplikację w Xcode z odłączonym debugerem Xcode. - Kliknij Kompilacja, a potem uruchom bieżący schemat, aby skompilować aplikację na urządzeniu testowym lub symulatorze. 
- Poczekaj, aż aplikacja zacznie działać, a potem kliknij Zatrzymaj uruchamianie schematu lub działania, aby zamknąć początkową instancję aplikacji. Ta początkowa instancja zawierała debuger, który zakłóca działanie Crashlytics. 
 
- Wymuś awarię testową, aby wysłać pierwszy raport o awarii aplikacji: - Otwórz aplikację na ekranie głównym urządzenia testowego lub symulatora. 
- W aplikacji kliknij przycisk „Test Crash” (Testuj awarię), który został dodany za pomocą powyższego kodu. 
- Po awarii aplikacji uruchom ją ponownie w Xcode, aby mogła wysłać raport o awarii do Firebase. 
 
- Otwórz Crashlyticspanel konsoli Firebase, aby zobaczyć testowy awarię. 
Jeśli po odświeżeniu konsoli i upływie 5 minut nadal nie widzisz testowego awarii, włącz rejestrowanie debugowania (w następnej sekcji).
Włącz rejestrowanie debugowania dla Crashlytics
Jeśli nie widzisz testowego awarii na Crashlytics, możesz użyć rejestrowania debugowania w Crashlytics, aby znaleźć przyczynę problemu.
- Włącz logowanie debugowania: - W Xcode kliknij Product (Produkt) > Scheme (Schemat) > Edit scheme (Edytuj schemat). 
- W menu po lewej stronie kliknij Run (Uruchom), a następnie wybierz kartę Arguments (Argumenty). 
- W sekcji Arguments Passed on Launch (Argumenty przekazywane przy uruchamianiu) dodaj - -FIRDebugEnabled.
 
- Wymuś awarię testową. W pierwszej sekcji na tej stronie znajdziesz instrukcje, jak to zrobić. 
- W dziennikach wyszukaj komunikat z Crashlytics, który zawiera ten ciąg znaków. Potwierdza on, że aplikacja wysyła awarie do Firebase. - Completed report submission 
Jeśli po 5 minutach nie widzisz tego dziennika ani testowego błędu w Crashlyticspanelu Firebasekonsoli, skontaktuj się z zespołem pomocy Firebase i prześlij mu kopię danych wyjściowych dziennika, abyśmy mogli Ci pomóc w dalszym rozwiązywaniu problemu.
Dalsze kroki
- Dostosuj konfigurację raportu o awariach, dodając raportowanie za zgodą użytkowników, dzienniki, klucze i śledzenie błędów niekrytycznych.