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.

    Mit dem folgenden Code können Sie Ihrer App eine Schaltfläche hinzufü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 Sie Ihre App in Xcode und führen Sie sie aus, ohne dass der Xcode-Debugger angeschlossen ist.

    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 . Stoppen Sie die Ausführung des Schemas oder der Aktion, 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 „Absturz testen“, 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. Gehen Sie zum Crashlytics-Dashboard der Firebase-Konsole, um Ihren Testabsturz zu sehen.

Wenn Sie die Konsole aktualisiert haben und der Test nach fünf Minuten immer noch nicht abstürzt, versuchen Sie, die Debug-Protokollierung zu aktivieren (nächster Abschnitt).

Aktivieren Sie die Debug-Protokollierung für Crashlytics

Wenn Ihr Testabsturz nicht im Crashlytics-Dashboard angezeigt wird, können Sie die Debug-Protokollierung für Crashlytics verwenden, um das Problem aufzuspüren.

  1. Aktivieren Sie die Debug-Protokollierung:

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

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

  2. Erzwinge einen Testabsturz. Der erste Abschnitt auf dieser Seite beschreibt, wie das geht.

  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