Erhalten Sie lesbare Absturzberichte im Crashlytics-Dashboard

Standardmäßig verarbeitet Firebase Crashlytics Ihre Debug-Symboldateien (dSYM) automatisch, um Ihnen entschleierte und für Menschen lesbare Absturzberichte zu liefern. Normalerweise konfigurieren Sie dieses Verhalten während der Ersteinrichtung von Crashlytics in Ihrer App, insbesondere durch Hinzufügen eines Ausführungsskripts , das dSYM-Dateien während der Erstellungsphase 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. Dieses Handbuch bietet einige Möglichkeiten zur Fehlerbehebung, wenn Crashlytics die dSYM-Dateien Ihrer App nicht finden kann.

Stellen Sie sicher, 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.

Stellen Sie sicher, dass Ihre Konfiguration für das Crashlytics-Ausführungsskript auf dem neuesten Stand ist und den neuen Anforderungen entspricht, die mit Xcode 15 eingeführt wurden. Wenn Ihre Konfiguration nicht auf dem neuesten Stand ist, erhalten Sie möglicherweise die folgende Fehlermeldung:
error: Info.plist Error Unable to process Info.plist at path ... .

Insbesondere erfordert Xcode 15 und höher, dass Sie einen umfassenderen Satz an Dateispeicherorten angeben. Stellen Sie für Ihr Crashlytics-Ausführungsskript ( firebase-ios-sdk/Crashlytics/run ) sicher, dass Sie über das folgende Setup verfügen:

  1. Klicken Sie auf die Registerkarte „Build-Phasen“ und erweitern Sie dann den Abschnitt „Skript ausführen“ .

  2. Stellen Sie im Abschnitt „Eingabedateien“ sicher, dass Sie über die Pfade für die Speicherorte der folgenden Dateien verfügen:

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

Überprüfen Sie, ob Xcode dSYMs produziert

In den meisten Fällen gehen dSYM-Dateien verloren, weil Xcode sie einfach nicht erstellt. Wenn ein Upload fehlschlägt, zeigt Crashlytics in der Firebase-Konsole die Warnung „Fehlendes dSYM“ an. Wenn Sie diese Warnung erhalten, überprüfen Sie zunächst, ob Xcode für jeden Build das richtige dSYM erzeugt:

  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 die Registerkarte „Build-Einstellungen“ des Ziels und klicken Sie dann auf „Alle“ .

  4. Suchen Sie nach dem debug information format .

  5. Setzen Sie das Debug-Informationsformat für alle Ihre Build-Typen mit der dSYM-Datei auf DWARF .

  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 sie manuell auf Crashlytics hochzuladen .

Suchen Sie Ihre dSYMs auf einem lokalen Computer

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

Sobald Sie das dSYM gefunden haben, laden Sie es manuell auf 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 App für die Produktion freigegeben wird, können Sie auch im .xcarchive Verzeichnis auf der Festplatte nach ihrem dSYM suchen:

  1. Öffnen Sie in Xcode das Organizer- Fenster 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 Strg-Taste auf ein Archiv, um es im Finder anzuzeigen. Klicken Sie erneut bei gedrückter Strg-Taste darauf und klicken Sie dann auf Paketinhalt anzeigen .

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

Laden Sie Ihre dSYMs hoch

Crashlytics unterstützt mehrere Möglichkeiten zum Hochladen Ihrer dSYMs-Dateien, entweder automatisch oder manuell .

(Empfohlen) Verarbeiten Sie Ihre dSYMs automatisch und laden Sie die Dateien hoch

Als Sie Crashlytics zum ersten Mal eingerichtet haben, haben Sie höchstwahrscheinlich dieses automatische Upload-Verhalten für Ihre App konfiguriert. Wenn automatische Uploads jedoch fehlschlagen, überprüfen Sie, ob Ihre Konfiguration korrekt ist .

Laden Sie Ihre dSYM-Dateien manuell hoch

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

  • Option 1 : Verwenden Sie die konsolenbasierte „Drag and Drop“-Option, um eine ZIP-Datei mit Ihren dSYM-Dateien hochzuladen (gehen Sie zur Firebase-Konsole > Crashlytics > Registerkarte „dSYMs“ ).

  • 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. Um das upload-symbols Skript auszuführen, verwenden Sie eine der folgenden Optionen:

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

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

    Für Hinweise zur Verwendung und zusätzliche Anweisungen zu diesem Skript führen Sie upload-symbols mit dem Parameter --help aus.