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ę „Awaria testowa”.
Certyfikat 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 następnie uruchomić bieżący schemat, aby utworzyć aplikację na urządzeniu testowym; symulatora.Poczekaj, aż aplikacja zostanie uruchomiona, a potem kliknij
Zatrzymaj schemat lub działania, aby zamknąć początkowe wystąpienie aplikacji. Ta początkowa zawiera 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 naciśnij przycisk „Test Awaria”. 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.
Otwórz panel Crashlytics w konsoli Firebase, aby wyświetlić awarię testową.
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 w Crashlytics
Jeśli nie widzisz awarii testowej w panelu Crashlytics, możesz: skorzystaj z dziennika debugowania w Crashlytics, aby znaleźć przyczynę problemu.
Włącz logowanie debugowania:
W Xcode wybierz Product > (Produkt >) Schemat > Edytuj schemat.
W menu po lewej stronie kliknij Uruchom i wybierz kartę Argumenty.
W sekcji Arguments Passed at Launch (Argumenty przekazane przy uruchomieniu) dodaj parametr
-FIRDebugEnabled
.
Wymuś awarię testową. Jak to zrobić, dowiesz się w pierwszej sekcji na tej stronie.
W dziennikach wyszukaj komunikat z Crashlytics, który zawiera 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 5 minut, skontaktuj się z Pomocy 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.