Wymuś awarię, aby przetestować implementację
Dodaj do aplikacji kod, którego możesz użyć do wymuszenia awarii testowej.
Możesz użyć poniższego kodu, aby dodać do aplikacji przycisk, który po naciśnięciu powoduje awarię. Przycisk jest oznaczony jako „Test Crash”.
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
UIKit
Szybki
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] } }
Cel 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
Twórz i uruchamiaj swoją aplikację w Xcode.
Kliknij
, a następnie uruchom bieżący schemat, aby zbudować swoją aplikację na urządzeniu testowym lub symulatorze.Poczekaj, aż aplikacja będzie działać, a następnie kliknij przycisk
Zatrzymaj uruchamianie schematu lub akcji, aby zamknąć początkową instancję aplikacji. Ta początkowa instancja zawierała debugger, który koliduje z Crashlytics.
Wymuś awarię testową, aby wysłać pierwszy raport o awarii aplikacji:
Otwórz aplikację z ekranu głównego urządzenia testowego lub symulatora.
W swojej aplikacji naciśnij przycisk „Przetestuj awarię”, który został dodany za pomocą powyższego kodu.
Po awarii aplikacji uruchom ją ponownie z Xcode, aby aplikacja mogła wysłać raport o awarii do Firebase.
Przejdź do panelu Crashlytics w konsoli Firebase, aby zobaczyć awarię testu.
Jeśli po odświeżeniu konsoli nadal nie widzisz awarii testu po pięciu minutach, spróbuj włączyć rejestrowanie debugowania (następna sekcja).
Włącz rejestrowanie debugowania dla Crashlytics
Jeśli nie widzisz awarii testowej na pulpicie nawigacyjnym Crashlytics, możesz użyć rejestrowania debugowania dla Crashlytics, aby pomóc w wyśledzeniu problemu.
Włącz rejestrowanie debugowania:
W Xcode wybierz Produkt > Schemat > Edytuj schemat .
Wybierz Uruchom z lewego menu, a następnie wybierz kartę Argumenty .
W sekcji Argumenty przekazane podczas uruchamiania dodaj
-FIRDebugEnabled
.
Wymuś awarię testową. Pierwsza sekcja na tej stronie opisuje, jak to zrobić.
W swoich dziennikach wyszukaj komunikat dziennika z Crashlytics zawierający następujący ciąg, który potwierdza, że aplikacja wysyła awarie do Firebase.
Completed report submission
Jeśli po pięciu minutach nie widzisz tego dziennika lub awarii testu w panelu Crashlytics konsoli Firebase, skontaktuj się z pomocą techniczną Firebase i prześlij kopię danych wyjściowych dziennika, abyśmy mogli pomóc Ci w dalszym rozwiązywaniu problemów.
Następne kroki
- Dostosuj ustawienia swojego raportu o awariach, dodając raporty, dzienniki, klucze i śledzenie błędów niekrytycznych.