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

Beginnen Sie mit Firebase Crashlytics

In diesem Schnellstart wird beschrieben, wie Sie Firebase Crashlytics in Ihrer App mit dem Firebase Crashlytics SDK einrichten, damit Sie umfassende Absturzberichte in der Firebase-Konsole erhalten.

Das Einrichten von Crashlytics erfordert Aufgaben sowohl in der Firebase-Konsole als auch in Ihrer IDE (z. B. das Hinzufügen einer Firebase-Konfigurationsdatei und des Crashlytics-SDK). Um die Einrichtung abzuschließen, müssen Sie einen Testabsturz erzwingen, um Ihren ersten Absturzbericht an Firebase zu senden.

Bevor Sie beginnen

  1. Fügen Sie Ihrem Apple-Projekt Firebase hinzu , falls Sie dies noch nicht getan haben. Wenn Sie keine Apple-App haben, können Sie eine Beispiel-App herunterladen.

  2. Empfohlen : Um Funktionen wie absturzfreie Benutzer, Breadcrumb-Protokolle und Geschwindigkeitswarnungen zu erhalten, müssen Sie Google Analytics in Ihrem Firebase-Projekt aktivieren.

    Alle von Crashlytics unterstützten Apple-Plattformen (außer watchOS) können diese Funktionen von Google Analytics nutzen. Beachten Sie, dass Sie SDK v8.9.0+ für macOS- und tvOS-Apps benötigen.

    • Wenn für Ihr vorhandenes Firebase-Projekt Google Analytics nicht aktiviert ist, können Sie Google Analytics über die Registerkarte „Integrationen“ Ihrer > Projekteinstellungen in der Firebase-Konsole aktivieren.

    • Wenn Sie ein neues Firebase-Projekt erstellen, aktivieren Sie Google Analytics während des Workflows zur Projekterstellung.

Schritt 1 : Fügen Sie das Crashlytics SDK zu Ihrer App hinzu

Verwenden Sie Swift Package Manager, um Firebase-Abhängigkeiten zu installieren und zu verwalten.

  1. Navigieren Sie in Xcode bei geöffnetem App-Projekt zu File > Add Packages .
  2. Wenn Sie dazu aufgefordert werden, fügen Sie das Firebase Apple-Plattform-SDK-Repository hinzu:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. Wählen Sie die Crashlytics-Bibliothek aus.
  5. Für ein optimales Erlebnis mit Crashlytics empfehlen wir, Google Analytics in Ihrem Firebase-Projekt zu aktivieren und Ihrer App das Firebase SDK für Google Analytics hinzuzufügen. Sie können entweder die Bibliothek ohne IDFA-Sammlung oder mit IDFA-Sammlung auswählen.
  6. Wenn Sie fertig sind, beginnt Xcode automatisch mit dem Auflösen und Herunterladen Ihrer Abhängigkeiten im Hintergrund.

Als nächstes konfigurieren Sie das Firebase-Modul:

  1. Importieren Sie das Firebase-Modul in Ihre App Struktur oder UIApplicationDelegate :

    Schnell

    import Firebase

    Ziel c

    @import Firebase;
  2. Konfigurieren Sie eine freigegebene FirebaseApp Instanz, normalerweise in der Methode application(_:didFinishLaunchingWithOptions:) Ihres App-Delegaten:

    Schnell

    // Use the Firebase library to configure APIs.
    FirebaseApp.configure()
    

    Ziel c

    // Use the Firebase library to configure APIs.
    [FIRApp configure];
    

Schritt 2 : Richten Sie Xcode ein, um automatisch dSYM-Dateien hochzuladen

Um für Menschen lesbare Absturzberichte zu erstellen, benötigt Crashlytics die Debug-Symboldateien (dSYM) Ihres Projekts. Die folgenden Schritte beschreiben, wie Sie Xcode so konfigurieren, dass Ihre dSYMs automatisch erstellt, verarbeitet und die Dateien hochgeladen werden, wenn Sie Ihre App erstellen.

  1. Öffnen Sie den Xcode-Arbeitsbereich Ihres Projekts und wählen Sie dann seine Projektdatei im linken Navigator aus.

  2. Wählen Sie aus der TARGETS- Liste Ihr Haupt-Build-Target aus.

  3. Klicken Sie auf die Registerkarte Build-Einstellungen und führen Sie dann die folgenden Schritte aus, damit Xcode dSYMs für Ihre Builds erstellt.

    1. Klicken Sie auf Alle und suchen Sie dann nach debug information format .

    2. Stellen Sie das Debug-Informationsformat für alle Ihre Build-Typen auf DWARF with dSYM File ein.

  4. Klicken Sie auf die Registerkarte Build Phases und führen Sie dann die folgenden Schritte aus, damit Xcode Ihre dSYMs verarbeiten und die Dateien hochladen kann.

    1. Klicken Sie auf > Neue Skriptausführungsphase .

      Stellen Sie sicher, dass diese neue Run Script- Phase die letzte Build-Phase Ihres Projekts ist; andernfalls kann Crashlytics dSYMs nicht richtig verarbeiten.

    2. Erweitern Sie den neuen Abschnitt Skript ausführen .

    3. Fügen Sie im Skriptfeld (unter der Bezeichnung Shell ) das folgende Ausführungsskript hinzu.

      Dieses Skript verarbeitet die dSYM-Dateien Ihres Projekts und lädt die Dateien zu Crashlytics hoch.

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. Fügen Sie im Abschnitt Eingabedateien die Pfade für die Speicherorte der folgenden Dateien hinzu:

      • Der Speicherort der dSYM-Dateien Ihres Projekts:

        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}

        Die Bereitstellung des Speicherorts der dSYM-Dateien Ihres Projekts ermöglicht es Crashlytics, dSYMs für große Apps schneller zu verarbeiten.

      • Der Speicherort der erstellten Info.plist Datei Ihres Projekts:

        $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

        Die Angabe des Speicherorts der erstellten Info.plist Datei Ihres Projekts ermöglicht es Crashlytics, eine App-Version mit den dSYMs zu verknüpfen.

Ausführlichere Informationen zu dSYM-Dateien und Crashlytics (einschließlich des manuellen Hochladens von dSYM-Dateien) finden Sie unter Get deobfuscated crash report .

Schritt 3 : Erzwingen Sie einen Testabsturz, um die Einrichtung abzuschließen

Um die Einrichtung von Crashlytics abzuschließen und erste Daten im Crashlytics-Dashboard der Firebase-Konsole anzuzeigen, müssen Sie einen Testabsturz erzwingen.

  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, aktivieren Sie die Debug-Protokollierung , um zu sehen, ob Ihre App Absturzberichte sendet.


Und das ist es! Crashlytics überwacht Ihre App jetzt auf Abstürze. Besuchen Sie das Crashlytics-Dashboard , um alle Ihre Berichte und Statistiken anzuzeigen und zu untersuchen.

Nächste Schritte