Catch up on highlights from Firebase at Google I/O 2023. Learn more

Testen Sie Ihre Crashlytics-Implementierung

Erzwingen Sie einen Absturz, um Ihre Implementierung zu testen

  1. 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
    
  2. Erstellen und führen Sie Ihre App in Xcode aus.

    1. Klicken Sie auf Build und führen Sie dann das aktuelle Schema aus, um Ihre App auf einem Testgerät oder Simulator zu erstellen.

    2. 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.

  3. Erzwingen Sie den Testabsturz, um den ersten Absturzbericht Ihrer App zu senden:

    1. Öffnen Sie Ihre App über den Startbildschirm Ihres Testgeräts oder Simulators.

    2. Klicken Sie in Ihrer App auf die Schaltfläche „Test Crash“, die Sie mit dem obigen Code hinzugefügt haben.

    3. Nachdem Ihre App abgestürzt ist, führen Sie sie erneut über Xcode aus, damit Ihre App den Absturzbericht an Firebase senden kann.

  4. 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.

  1. Debug-Protokollierung aktivieren:

    1. Wählen Sie in Xcode Produkt > Schema > Schema bearbeiten aus.

    2. Wählen Sie im linken Menü Ausführen und dann die Registerkarte Argumente aus.

    3. Fügen Sie im Abschnitt Beim Start übergebene Argumente -FIRDebugEnabled hinzu.

  2. Erzwingen Sie einen Testabsturz. Der erste Abschnitt auf dieser Seite beschreibt, wie Sie dies tun.

  3. 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