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

Plattform auswählen : iOS+ Android Flutter Unity


Standardmäßig verarbeitet Firebase Crashlytics automatisch Ihre Debug Symbol (dSYM)-Dateien, um offengelegte und für Menschen lesbare Absturzberichte für Sie bereitzustellen. Normalerweise konfigurieren Sie dieses Verhalten bei der ersten Einrichtung von Crashlytics in Ihrer App, insbesondere durch Hinzufügen eines Ausführungsskripts , das dSYM-Dateien während der Build-Phase Ihrer App automatisch hochlädt.

Leider gibt es einige Fälle, die dazu führen können, dass der automatische Upload Ihrer dSYM-Dateien fehlschlägt. In dieser Anleitung finden Sie einige Möglichkeiten zur Fehlerbehebung, wenn Crashlytics die dSYM-Dateien Ihrer App nicht finden kann.

Prüfen, ob Xcode dSYM-Dateien automatisch verarbeiten und die Dateien hochladen kann

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

Prüfen Sie, ob Ihre Konfiguration für das Crashlytics Ausführungsskript 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 in Xcode 15 und höher müssen Sie eine vollständigere Reihe von Dateispeicherorten angeben. Achten Sie bei Ihrem Crashlytics Ausführungsskript (firebase-ios-sdk/Crashlytics/run) auf die folgende Einrichtung:

  1. Klicken Sie auf den Tab Build-Phasen und maximieren Sie dann den Bereich Ausführungsskript.

  2. Achten Sie im Bereich Eingabedateien darauf, dass die Pfade zu den Speicherorten 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 in den Build-Einstellungen Ihres Projekts ENABLE_USER_SCRIPT_SANDBOXING=YES und ENABLE_DEBUG_DYLIB=YES festgelegt haben, geben Sie Folgendes an:
    ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib

Prüfen, ob Xcode dSYM-Dateien erstellt

In den meisten Fällen fehlen dSYM-Dateien, weil Xcode sie einfach nicht erstellt. Wenn ein Upload fehlschlägt, zeigt Crashlytics in der Firebase Konsole eine Warnung „Fehlende dSYM-Datei“ an. Wenn Sie diese Warnung 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 dann die Projektdatei im Xcode-Navigator aus.

  2. Wählen Sie Ihr Haupt-Build-Ziel aus.

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

  4. Suchen Sie nach debug information format.

  5. Legen Sie für alle Ihre Build-Typen Debug Information Format auf DWARF with dSYM File fest.

  6. Erstellen Sie Ihre App noch einmal.

Ihre Absturzberichte sollten jetzt im Crashlytics Dashboard angezeigt werden. Wenn das Problem weiterhin besteht oder andere Fehler auftreten, suchen Sie Ihre dSYM-Dateien und laden Sie sie manuell in Crashlytics hoch.Crashlytics

dSYM-Dateien auf einem lokalen Computer suchen

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

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

Sobald 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 suchen, in dem sich Ihre .app-Datei befindet. Standardmäßig befindet sich das Verzeichnis Products in Derived Data. Wenn Ihre App in der Produktion veröffentlicht wurde, können Sie auch im Verzeichnis .xcarchive auf dem Laufwerk nach der zugehörigen dSYM-Datei suchen:

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

  2. Klicken Sie bei gedrückter Ctrl-Taste auf ein Archiv, um es im Finder zu öffnen. Klicken Sie noch einmal bei gedrückter Ctrl-Taste darauf und dann auf Paketinhalt zeigen.

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

dSYM-Dateien hochladen

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

(Empfohlen) dSYM-Dateien automatisch verarbeiten und die Dateien hochladen

Bei der ersten Einrichtung von Crashlytics haben Sie dieses automatische Uploadverhalten wahrscheinlich für Ihre App 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 mit einer der folgenden Optionen manuell hochladen.

  • Option 1: Verwenden Sie die konsolenbasierte Option „Drag-and-drop“, um eine ZIP- Datei mit Ihren dSYM-Dateien hochzuladen (rufen Sie die Firebase Konsole > Crashlytics > dSYM-Dateien auf).

  • Option 2: Verwenden Sie das upload-symbols Skript, das Sie von überall in Ihrem 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 Ihrem Build-Prozess die folgende Zeile hinzu:

      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 Skript direkt auf Ihrem Terminal aus:

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

    Nutzungshinweise und weitere Anleitungen zu diesem Skript finden Sie unter upload-symbols mit dem Parameter --help.