Erste Schritte mit Crashlytics für Apple-Plattformen

Plattform auswählen: iOS+ Android Android NDK Flutter Unity


In diesem Leitfaden werden die ersten Schritte mit Firebase Crashlytics in Ihrer Apple-Plattform-App (z. B. einer iOS-App) beschrieben.

Nachdem Sie das Firebase Crashlytics SDK in Ihrer App eingerichtet haben, können Sie in der Firebase Console umfassende Absturzberichte abrufen. Mit Crashlytics für Apple-Plattformen erhalten Sie Berichte zu Abstürzen und nicht schwerwiegenden Fehlern.

Wenn Sie KI-Unterstützung nutzen möchten, kopieren Sie den Prompt unten in Ihren KI-Coding-Agenten (z. B. Antigravity, Claude Code, Codex oder Cursor). Sie können den Prompt anpassen und mit Ihrem Agenten iterieren. Ausführliche Informationen zur Installation finden Sie unter Firebase-Agenten-Skills.

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up Firebase Crashlytics for my app.

Hinweis

Für die Einrichtung von Crashlytics sind Aufgaben sowohl in der Firebase Console als auch in Ihrer IDE erforderlich, z. B. das Hinzufügen einer Firebase-Konfigurationsdatei und des Crashlytics SDK. Um die Einrichtung abzuschließen, müssen Sie einen Testabsturz erzwingen, damit der erste Absturzbericht an Firebase gesendet wird.

  1. Falls noch nicht geschehen, fügen Sie Ihrem Apple-Projekt Firebase hinzu. Wenn Sie keine Apple-App haben, können Sie eine Beispiel-App herunterladen.

  2. Empfohlen: Wenn Sie automatisch Navigationspfad-Logs erhalten möchten, um die Nutzeraktionen zu verstehen, die zu einem Absturz oder einem nicht schwerwiegenden Ereignis geführt haben, müssen Sie Google Analytics in Ihrem Firebase-Projekt aktivieren.

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

    • Wenn Sie ein vorhandenes Firebase-Projekt verwenden, für das Google Analytics nicht aktiviert ist, können Sie es in der Firebase Console auf der Seite Einstellungen > Integrationen aktivieren.

    Navigationspfad-Logs sind für alle von Crashlytics unterstützten Apple-Plattformen außer watchOS verfügbar.

Schritt 1: Crashlytics SDK zu Ihrer App hinzufügen

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

  1. Öffnen Sie Ihr App-Projekt und gehen Sie in Xcode zu File > Add Packages (Datei > Pakete hinzufügen).
  2. Fügen Sie bei entsprechender Aufforderung das Firebase Apple Platforms SDK-Repository hinzu:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Wählen Sie die Bibliothek Crashlytics aus.
  5. Wenn Sie Navigationspfad-Logs nutzen möchten, fügen Sie Ihrer App auch das Firebase SDK für Google Analytics hinzu. Achten Sie darauf, dass Google Analytics in Ihrem Firebase-Projekt aktiviert ist.
  6. Fügen Sie das Flag -ObjC im Abschnitt Other Linker Flags (Andere Linker-Flags) der Build-Einstellungen Ihres Ziels hinzu.
  7. (Nur macOS) Fügen Sie in Ihrer Info.plist den Schlüssel NSApplicationCrashOnExceptions hinzu und legen Sie ihn auf YES fest.
  8. Wenn Sie fertig, beginnt Xcode automatisch, Ihre Abhängigkeiten im Hintergrund aufzulösen und herunterzuladen.

Konfigurieren Sie als Nächstes das Firebase-Modul:

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

    Swift

    import Firebase

    Objective-C

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

    Swift

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

    Objective-C

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

Schritt 2: Xcode so einrichten, dass dSYM-Dateien automatisch hochgeladen werden

Damit menschenlesbare Absturzberichte generiert werden können, benötigt Crashlytics die dSYM-Dateien (Debug-Symbole) Ihres Projekts. In den folgenden Schritten wird beschrieben, wie Sie Xcode so konfigurieren, dass dSYMs automatisch erstellt, verarbeitet und hochgeladen werden, wenn Sie Ihre App erstellen.

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

  2. Wählen Sie in der Liste TARGETS (ZIELE) Ihr Haupt-Build-Ziel aus.

  3. Klicken Sie auf den Tab Build Settings und führen Sie die folgenden Schritte aus, damit Xcode dSYMs für Ihre Builds erstellt.

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

    2. Legen Sie für alle Build-Typen das Debug-Informationsformat auf DWARF with dSYM File fest.

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

    1. Klicken Sie auf > New Run Script Phase (Neue Phase zum Ausführen des Skripts).

      Diese neue Run Script-Phase muss die letzte Build-Phase Ihres Projekts sein. Andernfalls kann Crashlytics dSYMs nicht richtig verarbeiten.

    2. Maximieren Sie den neuen Bereich Script ausführen.

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

      Dieses Skript verarbeitet die dSYM-Dateien Ihres Projekts und lädt sie in 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:

      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
      $(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
      $(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
      Wenn Sie ENABLE_USER_SCRIPT_SANDBOXING=YES und ENABLE_DEBUG_DYLIB=YES in den Build-Einstellungen Ihres Projekts haben, geben Sie Folgendes an:
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib

Weitere Informationen zu dSYM-Dateien und Crashlytics (einschließlich des manuellen Uploads von dSYM-Dateien) finden Sie unter Deobfuskierte Absturzberichte erhalten.

Schritt 3: Testabsturz erzwingen, um die Einrichtung abzuschließen

Wenn Sie die Einrichtung von Crashlytics abschließen und erste Daten im Crashlytics-Dashboard der Firebase Console sehen möchten, müssen Sie einen Testabsturz 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 ist mit „Test Crash“ beschriftet.

    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, ohne den Xcode-Debugger zu verbinden.

    1. Klicken Sie auf Build and then run the current scheme, um die 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 ursprüngliche Instanz Ihrer App zu schließen. Diese ursprüngliche Instanz enthielt den Debugger, der Crashlytics beeinträchtigt.

  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. Drücken Sie in Ihrer App auf die Schaltfläche „Test Crash“, die Sie mit dem obigen Code hinzugefügt haben.

    3. Führen Sie die App nach dem Absturz noch einmal in Xcode aus, damit sie den Absturzbericht an Firebase senden kann.

  4. Rufen Sie in der Firebase-Konsole das Dashboard DevOps & Engagement > Crashlytics auf, um nach dem Testabsturzbericht zu suchen.

    Wenn Sie die Konsole aktualisiert haben und der Testabsturz nach fünf Minuten immer noch nicht angezeigt wird, aktivieren Sie das Debugging-Logging, um zu sehen, ob Ihre App Absturzberichte sendet.


Geschafft! Crashlytics überwacht Ihre App jetzt auf Abstürze. Rufen Sie das Crashlytics-Dashboard auf, um alle Berichte und Statistiken anzusehen und zu untersuchen.

Nächste Schritte