Wymuś awarię, aby przetestować implementację
Dodaj do aplikacji kod, który pozwala wymusić awarię testową.
Za pomocą tego kodu możesz dodać do swojej aplikacji przycisk, który, gdy powoduje awarię. Przycisk ma etykietę „Testowy błąd”.
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, gdy debuger Xcode jest odłączony.
Aby utworzyć aplikację na urządzeniu testowym lub symulatorze, kliknij
Utwórz, a następnie uruchom bieżący schemat.Poczekaj, aż aplikacja zostanie uruchomiona, a potem kliknij Crashlytics.
Zatrzymaj schemat lub działania, aby zamknąć początkowe wystąpienie aplikacji. Ta początkowa zawiera debuger, który zakłóca działanie
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”, który został dodany za pomocą kodu powyżej.
Po awarii aplikacji uruchom ją ponownie z Xcode, aby aplikacja mogła wyślij raport o awariach do Firebase.
Aby zobaczyć testowy błąd krytyczny, otwórz panel Crashlytics w konsoli Firebase.
Jeśli po odświeżeniu konsoli nadal nie widzisz awarii testowej po 5 minutach spróbuj włączyć rejestrowanie debugowania (następna sekcja).
Włącz logowanie debugowania dla: Crashlytics
Jeśli nie widzisz awarii testowej w panelu usługi Crashlytics, możesz użyj dziennika debugowania Crashlytics, aby znaleźć przyczynę problemu.
Włącz logowanie debugowania:
W Xcode wybierz Product > (Produkt >) Schemat > Edytuj schemat.
W menu po lewej stronie kliknij Uruchom, a następnie kartę Argumenty.
W sekcji Arguments Passed at Launch (Argumenty przekazane przy uruchomieniu) dodaj parametr
-FIRDebugEnabled
.
Wymuś awarię testową. W pierwszej sekcji tej strony opisano, jak to zrobić.
W dziennikach wyszukaj komunikat z dziennika Crashlytics, który zawiera ten ciąg znaków, który potwierdza, że aplikacja wysyła powoduje awarię do Firebase.
Completed report submission
Jeśli nie widzisz tego dziennika lub awarii testowej w panelu Crashlytics konsoli Firebase po upływie pięciu minut, skontaktuj się z Pomoc Firebase z kopią pliku dane wyjściowe w dzienniku, abyśmy mogli Ci pomóc w dalszym rozwiązaniu problemu.
Dalsze kroki
- Dostosowywanie konfiguracji raportów o awariach dodając raportowanie akceptacji, dzienniki, klucze i śledzenie błędów niekrytycznych.