Absturz zum Testen der Implementierung erzwingen
Fügen Sie Ihrer App Code hinzu, mit dem Sie einen Testabsturz erzwingen können.
Mit dem folgenden Code können Sie Ihrer App eine Schaltfläche hinzufügen, die beim Drücken einen Absturz verursacht. Die Schaltfläche trägt die Bezeichnung „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
Erstellen Sie Ihre App in Xcode und führen Sie sie aus, wobei der Xcode-Debugger getrennt ist.
Klicken Sie auf
Aktuelles Schema erstellen und dann ausführen, um Ihre App auf einem Testgerät oder Emulator zu erstellen.Warten Sie, bis Ihre App ausgeführt wird, und klicken Sie dann auf Crashlytics stört.
Ausführung des Scripts oder der Aktion beenden, um die erste Instanz Ihrer App zu schließen. Diese erste Instanz enthielt den Debugger, der
Erzwingen Sie den Testabsturz, um den ersten Absturzbericht Ihrer App zu senden:
Öffnen Sie Ihre App auf dem Startbildschirm Ihres Testgeräts oder Simulators.
Wählen Sie in Ihrer App die Option „Testabsturz“ aus. die Sie mithilfe des Codes oben.
Wenn Ihre App abgestürzt ist, führen Sie sie noch einmal über Xcode aus, damit sie den Absturzbericht an Firebase senden kann.
Gehen Sie zum Crashlytics-Dashboard der Firebase, um den Testabsturz zu sehen.
Wenn Sie die Konsole aktualisiert haben und der Testabsturz immer noch nicht angezeigt wird sollten Sie nach fünf Minuten versuchen, das Debugging-Logging zu aktivieren (nächster Abschnitt).
Debugging-Logging für Crashlytics aktivieren
Wenn du den Testabsturz nicht im Crashlytics-Dashboard siehst, kannst du Verwenden Sie das Debugging-Logging für Crashlytics, um das Problem aufzuspüren.
Debug-Logging aktivieren:
Wählen Sie in Xcode Product > Schema > Schema bearbeiten.
Wählen Sie im Menü auf der linken Seite Ausführen und dann den Tab Argumente aus.
Fügen Sie im Abschnitt Arguments Passed on Launch (Beim Start übergebene Argumente)
-FIRDebugEnabled
hinzu.
Testabsturz erzwingen. Im ersten Abschnitt auf dieser Seite wird dies beschrieben.
Suchen Sie in Ihren Logs nach einer Lognachricht von Crashlytics, die enthält den folgenden String, der bestätigt, dass Ihre App Daten sendet, zu Firebase abstürzt.
Completed report submission
Wenn Sie dieses Protokoll oder den Absturz Ihres Tests 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 von Absturzberichten an, indem Sie optionale Berichte, Protokolle, Schlüssel und das Tracking nicht kritischer Fehler hinzufügen.