| Plattform auswählen: | iOS+ Android Flutter Unity |
Standardmäßig verarbeitet Firebase Crashlytics Ihre dSYM-Dateien (Debug Symbol) automatisch, um Ihnen deobfuskierten und menschenlesbaren Absturzberichte zur Verfügung zu stellen. Normalerweise konfigurieren Sie dieses Verhalten bei der Ersteinrichtung 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, in denen der automatische Upload von dSYM-Dateien fehlschlagen kann. 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.
Bei der Einrichtung 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 Crashlytics-Laufzeitskript 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 Gruppe von Dateispeicherorten angeben. Für Ihr Crashlytics-Laufzeitskript (firebase-ios-sdk/Crashlytics/run) muss Folgendes eingerichtet sein:
Klicken Sie auf den Tab Build Phases (Build-Phasen) und maximieren Sie den Bereich Run Script (Script ausführen).
Prüfen Sie im Bereich Eingabedateien, ob 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
Wenn Sie$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
ENABLE_USER_SCRIPT_SANDBOXING=YESundENABLE_DEBUG_DYLIB=YESin den Buildeinstellungen Ihres Projekts haben, fügen Sie Folgendes hinzu:${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib
Prüfen, ob Xcode dSYMs erstellt
Häufig fehlen dSYM-Dateien, weil Xcode sie einfach nicht erstellt. Wenn ein Upload fehlschlägt, wird in Crashlytics in der Firebase Console eine Warnung „dSYM fehlt“ angezeigt. Wenn Sie diese Benachrichtigung erhalten, prüfen Sie zuerst, ob Xcode für jeden Build die richtige dSYM-Datei erstellt:
Öffnen Sie Ihr Projekt in Xcode und wählen Sie dann die Projektdatei im Xcode-Navigator aus.
Wählen Sie Ihr primäres Build-Ziel aus.
Öffnen Sie den Tab Build-Einstellungen des Ziels und klicken Sie dann auf Alle.
Nach „
debug information format“ suchen.Stellen Sie für alle Ihre Build-Typen Debug Information Format (Format für Debuginformationen) auf DWARF with dSYM File (DWARF mit dSYM-Datei) ein.
Erstellen Sie Ihre App neu.
Ihre Absturzberichte sollten jetzt im Crashlytics-Dashboard angezeigt werden. Wenn das Problem weiterhin besteht oder andere Fehler auftreten, suchen Sie Ihre dSYMs und laden Sie sie manuell in Crashlytics hoch.
dSYMs auf einem lokalen Computer finden
Führen Sie den folgenden Befehl aus, um alle UUIDs Ihrer dSYMs auf Ihrem Computer aufzurufen 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 Ihr .app befindet (standardmäßig befindet sich das Verzeichnis Products in Derived Data). Wenn Ihre App in der Produktionsumgebung veröffentlicht wird, können Sie auch im Verzeichnis .xcarchive auf der Festplatte nach dem dSYM suchen:
Ö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.
Klicken Sie mit gedrückter Ctrl-Taste auf ein Archiv, um es im Finder aufzurufen. Klicken Sie noch einmal bei gedrückter Ctrl-Taste darauf und dann auf Paketinhalt anzeigen.
Im Verzeichnis
.xcarchivebefindet sich ein dSYMs-Verzeichnis, das dSYMs enthält, die im Rahmen des Archivierungsprozesses von Xcode generiert wurden.
dSYM-Dateien hochladen
Crashlytics bietet mehrere Möglichkeiten zum Hochladen Ihrer dSYMs-Dateien, entweder automatisch oder manuell.
(Empfohlen) dSYM-Dateien automatisch verarbeiten und hochladen
Als Sie Crashlytics eingerichtet haben, 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 hochladen. Dazu haben Sie zwei Möglichkeiten:
Option 1: Verwenden Sie die Drag-and-drop-Oberfläche in der Firebase-Konsole, um eine ZIP-Datei mit Ihren dSYM-Dateien hochzuladen (gehen Sie zum Tab DevOps & Engagement > Crashlytics-Dashboard > dSYMs).
Option 2: Verwenden Sie das
upload-symbols-Script, das Sie von überall in Ihrem Build-Prozess aufrufen können, um Ihre dSYM-Dateien manuell hochzuladen. Verwenden Sie eine der folgenden Optionen, um dasupload-symbols-Skript 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
Hinweise zur Verwendung und zusätzliche Anleitungen zu diesem Skript erhalten Sie, wenn Sie
upload-symbolsmit dem Parameter--helpausführen.