Erzwingen Sie einen Absturz, um Ihre Implementierung zu testen
Fügen Sie Ihrer App Code hinzu, mit dem Sie einen Testabsturz erzwingen können.
Sie können den folgenden Code verwenden, um Ihrer App eine Schaltfläche hinzuzufügen, die beim Drücken einen Absturz verursacht. Die Schaltfläche ist mit "Test Crash" beschriftet.
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
UIKit
Schnell
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] } }
Ziel 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
Erstellen und führen Sie Ihre App in Xcode aus.
Klicken Sie auf
Build und führen Sie dann das aktuelle Schema aus, um Ihre App auf einem Testgerät oder Simulator zu erstellen.Warten Sie, bis Ihre App ausgeführt wird, und klicken Sie dann auf
Ausführung des Schemas oder der Aktion beenden , um die erste Instanz Ihrer App zu schließen. Diese erste Instanz enthielt den Debugger, der Crashlytics stört.
Erzwingen Sie den Testabsturz, um den ersten Absturzbericht Ihrer App zu senden:
Öffnen Sie Ihre App über den Startbildschirm Ihres Testgeräts oder Simulators.
Klicken Sie in Ihrer App auf die Schaltfläche „Test Crash“, die Sie mit dem obigen Code hinzugefügt haben.
Nachdem Ihre App abgestürzt ist, führen Sie sie erneut über Xcode aus, damit Ihre App den Absturzbericht an Firebase senden kann.
Rufen Sie das Crashlytics-Dashboard der Firebase-Konsole auf, um Ihren Testabsturz anzuzeigen.
Wenn Sie die Konsole aktualisiert haben und den Testabsturz nach fünf Minuten immer noch nicht sehen, versuchen Sie, die Debug-Protokollierung zu aktivieren (nächster Abschnitt).
Debug-Protokollierung für Crashlytics aktivieren
Wenn Sie Ihren Testabsturz nicht im Crashlytics-Dashboard sehen, können Sie die Debug-Protokollierung für Crashlytics verwenden, um das Problem aufzuspüren.
Debug-Protokollierung aktivieren:
Wählen Sie in Xcode Produkt > Schema > Schema bearbeiten aus.
Wählen Sie im linken Menü Ausführen und dann die Registerkarte Argumente aus.
Fügen Sie im Abschnitt Beim Start übergebene Argumente
-FIRDebugEnabled
hinzu.
Erzwingen Sie einen Testabsturz. Der erste Abschnitt auf dieser Seite beschreibt, wie Sie dies tun.
Suchen Sie in Ihren Protokollen nach einer Protokollnachricht von Crashlytics, die die folgende Zeichenfolge enthält, die bestätigt, dass Ihre App Abstürze an Firebase sendet.
Completed report submission
Wenn Sie dieses Protokoll oder Ihren Testabsturz nach fünf Minuten nicht im Crashlytics-Dashboard der Firebase-Konsole sehen, wenden Sie sich mit einer Kopie Ihrer Protokollausgabe an den Firebase-Support , damit wir Ihnen bei der weiteren Fehlerbehebung helfen können.
Nächste Schritte
- Passen Sie die Einrichtung Ihres Absturzberichts an , indem Sie Opt-in-Berichte, Protokolle, Schlüssel und die Verfolgung nicht schwerwiegender Fehler hinzufügen.