Crashlytics-Implementierung testen


Absturz zum Testen der Implementierung erzwingen

  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 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
    
  2. Erstellen Sie Ihre App in Xcode und führen Sie sie aus, wobei der Xcode-Debugger getrennt ist.

    1. Klicken Sie auf Aktuelles Schema erstellen und dann ausführen, um Ihre App auf einem Testgerät oder Emulator zu erstellen.

    2. Warten Sie, bis Ihre App ausgeführt wird, und klicken Sie dann auf Ausführung des Scripts 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 auf dem Startbildschirm Ihres Testgeräts oder Simulators.

    2. Wählen Sie in Ihrer App die Option „Testabsturz“ aus. die Sie mithilfe des Codes oben.

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

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

  1. Debug-Logging aktivieren:

    1. Wählen Sie in Xcode Product > Schema > Schema bearbeiten.

    2. Wählen Sie im Menü auf der linken Seite Ausführen und dann den Tab Argumente aus.

    3. Fügen Sie im Abschnitt Arguments Passed on Launch (Beim Start übergebene Argumente) -FIRDebugEnabled hinzu.

  2. Testabsturz erzwingen. Im ersten Abschnitt auf dieser Seite wird dies beschrieben.

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