| Plattform auswählen: | iOS+ Android Android NDK Flutter Unity |
In diesem Leitfaden wird beschrieben, wie Sie mit Firebase Crashlytics in Ihrer App für Apple-Plattformen (z. B. einer iOS-App) beginnen.
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.
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 Ihr erster Absturzbericht an Firebase gesendet wird.
Hinweis
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.
Empfohlen: Wenn Sie automatisch Breadcrumb-Logs erhalten möchten, um die Nutzeraktionen zu verstehen, die zu einem Absturz oder 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 der Projekterstellung.
Wenn Sie ein vorhandenes Firebase-Projekt verwenden, für das Google Analytics nicht aktiviert ist, können Sie es in der Seite „Integrationen“ der Firebase Console unter
Einstellungen aktivieren.
Hinweis: Breadcrumb-Logs sind für alle von Crashlytics unterstützten Apple-Plattformen verfügbar, mit Ausnahme von watchOS.
Schritt 1: Crashlytics SDK in Ihre App einfügen
Verwenden Sie Swift Package Manager, um Firebase-Abhängigkeiten zu installieren und zu verwalten.
- Öffnen Sie Ihr App-Projekt und gehen Sie in Xcode zu File > Add Packages (Datei > Pakete hinzufügen).
- Fügen Sie bei entsprechender Aufforderung das Firebase Apple Platforms SDK-Repository hinzu:
- Wählen Sie die Crashlytics-Bibliothek aus.
- Wenn Sie Breadcrumb-Logs nutzen möchten, fügen Sie Ihrer App außerdem das Firebase SDK für Google Analytics hinzu. Achten Sie darauf, dass Google Analytics in Ihrem Firebase-Projekt aktiviert ist.
- Fügen Sie das Flag
-ObjCdem Abschnitt Other Linker Flags (Weitere Verknüpfungsmerker) der Build-Einstellungen Ihres Ziels hinzu. - (Nur macOS) Fügen Sie in der
Info.plistden SchlüsselNSApplicationCrashOnExceptionshinzu und legen Sie ihn aufYESfest. - Wenn Sie fertig, beginnt Xcode automatisch, Ihre Abhängigkeiten im Hintergrund aufzulösen und herunterzuladen.
https://github.com/firebase/firebase-ios-sdk.git
Konfigurieren Sie als Nächstes das Firebase-Modul:
Importieren Sie das Firebase-Modul in Ihre
App-Struktur oderUIApplicationDelegate:Swift
import Firebase
Objective-C
@import Firebase;
Konfigurieren Sie eine freigegebene
FirebaseApp-Instanz, in der Regel in der Methodeapplication(_:didFinishLaunchingWithOptions:)des 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: Automatisches Hochladen von dSYM-Dateien in Xcode einrichten
Damit Crashlytics für Menschen lesbare Absturzberichte generieren kann, sind die dSYM-Dateien Ihres Projekts erforderlich. In den folgenden Schritten wird beschrieben, wie Sie Xcode so konfigurieren, dass Ihre dSYM-Dateien automatisch erstellt, verarbeitet und hochgeladen werden, wenn Sie Ihre App erstellen.
Öffnen Sie den Xcode-Arbeitsbereich Ihres Projekts und wählen Sie dann die Projektdatei im linken Navigator aus.
Wählen Sie in der Liste ZIELE Ihr primäres Build-Ziel aus.
Klicken Sie auf den Tab Build Settings (Build-Einstellungen) und führen Sie die folgenden Schritte aus, damit Xcode dSYMs für Ihre Builds erstellt.
Klicken Sie auf Alle und suchen Sie dann nach
debug information format.Legen Sie Debug Information Format für alle Build-Typen auf
DWARF with dSYM Filefest.
Klicken Sie auf den Tab Build Phases und führen Sie dann die folgenden Schritte aus, damit Xcode Ihre dSYMs verarbeiten und die Dateien hochladen kann.
Klicken Sie auf > New Run Script Phase (Neue Phase für das Ausführen von Skripts).
Achten Sie darauf, dass die neue Phase Run Script die letzte Build-Phase Ihres Projekts ist. Andernfalls kann Crashlytics dSYMs nicht richtig verarbeiten.
Maximieren Sie den neuen Bereich Skript ausführen.
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 die Dateien in Crashlytics hoch.
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"Fügen Sie im Bereich Input Files (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
Wenn Sie$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
ENABLE_USER_SCRIPT_SANDBOXING=YESundENABLE_DEBUG_DYLIB=YESin den Build-Einstellungen Ihres Projekts haben, fügen Sie Folgendes hinzu:${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 Hochladens von dSYM-Dateien) finden Sie unter Deobfuscated crash reports.
Schritt 3: Testabsturz erzwingen, um die Einrichtung abzuschließen
Damit die Einrichtung von Crashlytics abgeschlossen wird und erste Daten im Crashlytics-Dashboard der Firebase-Konsole angezeigt werden, müssen Sie einen Testabsturz erzwingen.
Fügen Sie Ihrer App Code hinzu, mit dem Sie einen Testabsturz erzwingen können.
Mit dem folgenden Code können Sie Ihrer App einen Button hinzufügen, der beim Drücken einen Absturz verursacht. Der Button ist mit „Testabsturz“ 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
Erstellen Sie Ihre App in Xcode und führen Sie sie aus, während der Xcode-Debugger getrennt ist.
Klicken Sie auf Build and then run the current scheme (Aktuelles Schema erstellen und dann ausführen), um Ihre App auf einem Testgerät oder Simulator zu erstellen.
Warten Sie, bis Ihre App ausgeführt wird, und klicken Sie dann auf Schema oder Aktion beenden, um die ursprüngliche Instanz Ihrer App zu schließen. Diese ursprüngliche Instanz enthielt den Debugger, der Crashlytics beeinträchtigt.
Erzwingen Sie den Testabsturz, um den ersten Absturzbericht Ihrer App zu senden:
Öffnen Sie Ihre App auf dem Startbildschirm Ihres Testgeräts oder Simulators.
Klicken Sie in Ihrer App auf den Button „Testabsturz“, den Sie mit dem oben stehenden Code hinzugefügt haben.
Nachdem Ihre App abgestürzt ist, führen Sie sie noch einmal in Xcode aus, damit der Absturzbericht an Firebase gesendet werden kann.
Rufen Sie in der Firebase Console das DevOps & Engagement > Crashlytics-Dashboard auf, um nach Ihrem Testabsturzbericht zu suchen.
Wenn Sie die Konsole aktualisiert haben und der Testabsturz nach fünf Minuten immer noch nicht angezeigt wird, aktivieren Sie das Debug-Logging, um zu sehen, ob Ihre App Absturzberichte sendet.
Geschafft! Crashlytics überwacht jetzt Ihre App auf Abstürze. Auf dem Crashlytics-Dashboard können Sie alle Ihre Berichte und Statistiken ansehen und analysieren.
Nächste Schritte
Einrichtung von Absturzberichten anpassen durch Hinzufügen von Opt-in-Berichten, Protokollen, Schlüsseln und Tracking von nicht schwerwiegenden Fehlern.
Daten nach BigQuery oder Cloud Logging exportieren, um erweiterte Analysen durchzuführen und Funktionen wie das Abfragen von Daten, das Erstellen benutzerdefinierter Dashboards und das Einrichten benutzerdefinierter Benachrichtigungen zu nutzen.