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:
Klicken Sie auf die Registerkarte „Build-Phasen“ und erweitern Sie dann den Abschnitt „Skript ausführen“ .
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:
Öffnen Sie Ihr Projekt in Xcode und wählen Sie dann die Projektdatei im Xcode Navigator aus.
Wählen Sie Ihr Haupt-Build-Ziel aus.
Öffnen Sie die Registerkarte „Build-Einstellungen“ des Ziels und klicken Sie dann auf „Alle“ .
Suchen Sie nach dem
debug information format
.Setzen Sie das Debug-Informationsformat für alle Ihre Build-Typen mit der dSYM-Datei auf DWARF .
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:
Ö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.
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 .
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 Option „Drag and Drop“, um eine ZIP-Datei mit Ihren dSYM-Dateien hochzuladen (gehen Sie zur Firebase-Konsole > Crashlytics > Registerkarte „dSYMs“ ).
Option 2 : Verwenden Sie das Skript
upload-symbols
, das Sie von überall in Ihrem Build-Prozess aufrufen können, um Ihre dSYM-Dateien manuell hochzuladen. Um dasupload-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.