Standardmäßig verarbeitet Firebase Crashlytics das Debugging-Symbol automatisch (dSYM-Dateien), um offengelegte und für Menschen lesbare Absturzberichte zu erstellen. Ich konfigurieren Sie dieses Verhalten in der Regel bei der Ersteinrichtung von Crashlytics in Ihre App, insbesondere durch Ausführungsskript hinzufügen das dSYM-Dateien während der Build-Phase Ihrer App automatisch hochlädt.
Leider gibt es einige Fälle, in denen automatische dSYM-Dateien verursacht werden können. der Upload fehlschlägt. In diesem Leitfaden finden Sie einige Möglichkeiten zur Fehlerbehebung, wenn Crashlytics kann die dSYM-Dateien deiner App nicht finden.
Achten Sie darauf, dass Xcode dSYMs automatisch verarbeiten und die Dateien hochladen kann
Beim Einrichten von Crashlytics in deiner App ein Ausführungsskript konfiguriert um dSYMs automatisch zu verarbeiten und die Dateien hochzuladen.
Achten Sie darauf, dass Ihre Konfiguration für das Crashlytics-Ausführungsskript den neuen Anforderungen entspricht, die mit Xcode 15 eingeführt wurden. Wenn Ihr
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 bei Xcode 15 und höher müssen Sie einen umfassenderen Satz angeben.
von Dateispeicherorten. Für das Crashlytics-Ausführungsskript
(firebase-ios-sdk/Crashlytics/run
) benötigen, benötigen Sie Folgendes:
Einrichtung:
Klicken Sie auf den Tab Build-Phasen und maximieren Sie dann den Bereich Skript ausführen.
Achten Sie darauf, dass Sie im Abschnitt Eingabedateien die Pfade für die Speicherorte gespeichert haben. der folgenden Dateien:
${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)
Prüfen, ob Xcode dSYMs produziert
In den meisten Fällen fehlen dSYM-Dateien, weil sie in Xcode einfach nicht erstellt werden. Wenn ein Upload fehlschlägt, zeigt Crashlytics die Meldung „Fehlende dSYM-Datei“ an Benachrichtigung in der Firebase-Konsole. Wenn Sie diese Benachrichtigung erhalten, prüfen Sie zuerst, ob Xcode für jeden Build die richtige dSYM-Datei generiert:
Öffnen Sie Ihr Projekt in Xcode und wählen Sie die Projektdatei in der Xcode- Navigator.
Wählen Sie das Hauptziel für die Erstellung aus.
Öffnen Sie den Tab Build Settings (Build-Einstellungen) des Ziels und klicken Sie dann auf All (Alle).
Suchen Sie nach
debug information format
.Legen Sie das Format der Fehlerbehebungsinformationen für alle auf DWARF mit dSYM-Datei fest. Ihre Build-Typen.
Erstellen Sie Ihre App neu.
Ihre Absturzberichte sollten jetzt im Crashlytics-Dashboard. Wenn das Problem weiterhin besteht oder andere Fehler auftreten, versuchen Sie, die dSYM-Dateien zu finden und werden sie manuell auf Crashlytics hochgeladen.
dSYMs auf einem lokalen Computer finden
Führen Sie den folgenden Befehl aus, um alle Ihre dSYMs anzuzeigen: UUIDs auf Ihrem Computer und suchen Sie nach der fehlenden dSYM-Datei:
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 in der
Products
-Verzeichnis, in dem sich Ihre .app
befindet (standardmäßig die Products
befindet sich in Derived Data
). Wenn die Produktionsversion Ihrer App
Sie können die dSYM-Datei auch im Verzeichnis .xcarchive
auf dem Laufwerk suchen:
Öffnen Sie in Xcode das Fenster Organizer und wählen Sie Ihre App aus dem Liste. Xcode zeigt eine Liste der Archive für Ihr Projekt an.
Klicken Sie bei gedrückter Strg-Taste auf ein Archiv, um es im Finder anzuzeigen. Klicken Sie noch einmal mit der rechten Maustaste darauf und dann auf Paketinhalt anzeigen.
In
.xcarchive
befindet sich ein dSYMs-Verzeichnis, das dSYMs enthält, die generiert wurden als Teil des Xcode-Archivierungsprozesses ist.
dSYM-Dateien hochladen
Crashlytics unterstützt mehrere Möglichkeiten zum Hochladen Ihrer dSYMs-Dateien, entweder automatisch oder manuell.
(Empfohlen) dSYMs automatisch verarbeiten und Dateien hochladen
Bei der Ersteinrichtung von Crashlytics haben Sie dies höchstwahrscheinlich konfiguriert für das automatische Uploadverhalten Ihrer App. Wenn automatische Uploads jedoch wenn dies fehlschlägt, 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.
Option 1: Das konsolenbasierte Drag-and-drop-Verfahren verwenden Option zum Hochladen einer ZIP-Datei mit Ihren dSYM-Dateien (Rufen Sie die Firebase Console > Crashlytics > dSYMs).
Option 2: Das Skript
upload-symbols
verwenden, über das der Aufruf erfolgen kann an einer beliebigen Stelle im Build-Prozess, um die dSYM-Dateien manuell hochzuladen. Um denupload-symbols
, 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 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 weitere Anleitungen zu diesem Script finden Sie, wenn Sie
upload-symbols
mit dem Parameter--help
ausführen.