Lesbare Absturzberichte im Crashlytics-Dashboard abrufen (Apple-Plattformen)

Plattform auswählen: iOS+ Android Flutter Unity


Standardmäßig verarbeitet Firebase Crashlytics Ihre dSYM-Dateien (Debug-Symboldateien) automatisch, um Ihnen deobfuskierte und menschenlesbare Absturzberichte bereitzustellen. Dieses Verhalten wird normalerweise bei der Ersteinrichtung von Crashlytics in Ihrer App konfiguriert, insbesondere durch Hinzufügen eines Ausführungsskripts, mit dem dSYM-Dateien während der Build-Phase Ihrer App automatisch hochgeladen werden.

Leider kann es vorkommen, dass der automatische Upload von dSYM-Dateien fehlschlägt. In diesem Leitfaden finden Sie einige Möglichkeiten zur Fehlerbehebung, wenn Crashlytics die dSYM-Dateien Ihrer App nicht finden kann.

Achten Sie darauf, dass Xcode dSYMs automatisch verarbeiten und die Dateien hochladen kann.

Beim Einrichten von Crashlytics in Ihrer App haben Sie ein Ausführungsskript konfiguriert, um dSYMs automatisch zu verarbeiten und die Dateien hochzuladen.

Achten Sie darauf, dass Ihre Konfiguration für das Ausführungsskript Crashlytics den neuen Anforderungen entspricht, die mit Xcode 15 eingeführt wurden. Wenn Ihre Konfiguration nicht auf dem neuesten Stand ist, wird möglicherweise der folgende Fehler angezeigt:
error: Info.plist Error Unable to process Info.plist at path ....

Insbesondere müssen Sie in Xcode 15 und höher mehr Dateispeicherorte angeben. Achten Sie darauf, dass für das Ausführungsskript Crashlytics (firebase-ios-sdk/Crashlytics/run) Folgendes eingerichtet ist:

  1. Klicken Sie auf den Tab Build Phases und maximieren Sie den Bereich Run Script.

  2. Achten Sie darauf, dass im Abschnitt Eingabedateien die Pfade für die Speicherorte der folgenden Dateien angegeben sind:

    ${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

Prüfen, ob Xcode dSYMs erstellt

Meistens fehlen dSYM-Dateien, weil sie von Xcode nicht erstellt werden. Wenn ein Upload fehlschlägt, wird in der Firebase-Konsole die Meldung „Fehlende dSYM-Datei“ angezeigt.Crashlytics Wenn Sie diese Benachrichtigung erhalten, prüfen Sie zuerst, ob Xcode für jeden Build die richtige dSYM-Datei erstellt:

  1. Öffnen Sie Ihr Projekt in Xcode und wählen Sie die Projektdatei im Xcode-Navigator aus.

  2. Wählen Sie das Hauptziel für den Build aus.

  3. Öffnen Sie den Tab Build Settings (Build-Einstellungen) des Ziels und klicken Sie dann auf All (Alle).

  4. Nach „debug information format“ suchen.

  5. Setzen Sie Debug Information Format (Format für Debugging-Informationen) für alle Build-Typen auf DWARF with dSYM File (DWARF mit dSYM-Datei).

  6. Erstellen Sie Ihre App neu.

Ihre Absturzberichte sollten jetzt im Crashlytics-Dashboard angezeigt werden. Wenn das Problem weiterhin besteht oder andere Fehler auftreten, versuchen Sie, Ihre dSYMs zu finden und manuell in Crashlytics hochzuladen.

dSYMs auf einem lokalen Computer finden

Führen Sie den folgenden Befehl aus, um alle UUIDs Ihrer dSYMs auf Ihrem Computer anzuzeigen und nach dem fehlenden dSYM zu suchen:

mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done

Wenn Sie die dSYM-Datei gefunden haben, laden Sie sie manuell in Crashlytics hoch. Wenn der Befehl mdfind keine Ergebnisse zurückgibt, können Sie im Verzeichnis Products nachsehen, in dem sich Ihre .app befindet. Standardmäßig befindet sich das Verzeichnis Products in Derived Data. Wenn Ihre Anwendung in der Produktion veröffentlicht wurde, können Sie auch im Verzeichnis .xcarchive auf dem Laufwerk nach der dSYM-Datei suchen:

  1. Öffnen Sie in Xcode das Fenster Organizer und wählen Sie Ihre App aus der Liste aus. In Xcode wird eine Liste der Archive für Ihr Projekt angezeigt.

  2. Klicken Sie bei gedrückter Ctrl-Taste auf ein Archiv, um es im Finder anzusehen. Klicken Sie noch einmal mit gedrückter Strg-Taste darauf und dann auf Paketinhalt anzeigen.

  3. In .xcarchive befindet sich ein dSYMs-Verzeichnis, das dSYMs enthält, die im Rahmen des Archivierungsprozesses von Xcode generiert wurden.

dSYM-Dateien hochladen

Crashlytics unterstützt mehrere Möglichkeiten, dSYM-Dateien hochzuladen, entweder automatisch oder manuell.

(Empfohlen) dSYM-Dateien automatisch verarbeiten und hochladen

Wenn Sie Crashlytics zum ersten Mal einrichten, haben Sie dieses automatische Uploadverhalten für Ihre App wahrscheinlich konfiguriert. Wenn automatische Uploads jedoch fehlschlagen, prüfen Sie, ob Ihre Konfiguration korrekt ist.

dSYM-Dateien manuell hochladen

Wenn automatische Uploads fehlschlagen, können Sie Ihre dSYM-Dateien manuell mit einer der folgenden Optionen hochladen.

  • Option 1: Verwenden Sie die Drag-and-drop-Oberfläche in der Firebase-Konsole, um eine ZIP-Datei mit Ihren dSYM-Dateien hochzuladen. Rufen Sie dazu das Dashboard DevOps & Engagement > Crashlytics > Tab dSYMs auf.

  • Option 2: Verwenden Sie das Script upload-symbols, das Sie von einer beliebigen Stelle im Build-Prozess aufrufen können, um Ihre dSYM-Dateien manuell hochzuladen. Verwenden Sie eine der folgenden Optionen, um das Skript upload-symbols auszuführen:

    • Option A: Fügen Sie die folgende Zeile in Ihren Build-Prozess ein:

      find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
    • Option B: Führen Sie das Script direkt auf Ihrem Terminal aus:

      /PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs

    Wenn Sie Nutzungshinweise und zusätzliche Anleitungen zu diesem Script benötigen, führen Sie upload-symbols mit dem Parameter --help aus.