Obtenez des rapports d'erreur lisibles dans le tableau de bord Crashlytics


Par défaut, Firebase Crashlytics traite automatiquement votre symbole de débogage (dSYM) pour vous fournir des rapports d'erreur désobscurcis et lisibles par l'humain. Toi configure généralement ce comportement lors de la configuration initiale de Crashlytics dans votre application, en particulier en ajout d'un script d'exécution qui importe automatiquement les fichiers dSYM pendant la phase de compilation de votre application.

Malheureusement, vos fichiers dSYM automatiques peuvent être à l'origine dans certains cas l'importation échoue. Ce guide propose plusieurs solutions pour résoudre les problèmes Crashlytics ne parvient pas à localiser les fichiers dSYM de votre application.

Assurez-vous que Xcode peut automatiquement traiter les fichiers dSYM et importer les fichiers

Lorsque vous configurez Crashlytics dans votre application, vous : configuré un script d'exécution pour traiter automatiquement les fichiers dSYM et importer les fichiers.

Assurez-vous que votre configuration pour le script d'exécution Crashlytics est aux nouvelles exigences à partir de Xcode 15. Si votre configuration n'est pas à jour, l'erreur suivante peut s'afficher :
error: Info.plist Error Unable to process Info.plist at path ....

Plus précisément, Xcode 15 et versions ultérieures nécessitent que vous fournissiez un ensemble plus complet des emplacements de fichiers. Pour votre script d'exécution Crashlytics (firebase-ios-sdk/Crashlytics/run), assurez-vous de disposer des éléments suivants : configuration:

  1. Cliquez sur l'onglet Phases de compilation, puis développez la section Exécuter le script.

  2. Dans la section Input Files (Fichiers d'entrée), vérifiez que vous disposez des chemins d'accès aux emplacements. des fichiers suivants:

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

Vérifier si Xcode produit des dSYM

Le plus souvent, les fichiers dSYM sont manquants, car Xcode ne les produit tout simplement pas. En cas d'échec de l'importation, le message "Fichier dSYM manquant" s'affiche dans Crashlytics alerte dans la console Firebase. Si vous recevez cette alerte, vérifiez d'abord que Xcode génère le dSYM correct pour chaque compilation :

  1. Ouvrez votre projet dans Xcode, puis sélectionnez le fichier de projet dans le navigateur Xcode.

  2. Sélectionnez votre cible de compilation principale.

  3. Ouvrez l'onglet Build Settings (Paramètres de compilation) de la cible, puis cliquez sur All (Tout).

  4. Recherchez debug information format.

  5. Définissez Debug Information Format (Format des informations de débogage) sur DWARF with dSYM File (DWARF avec fichier dSYM) pour tous vos types de compilation.

  6. Recompilez votre application.

Vos rapports d'erreur devraient désormais s'afficher dans le tableau de bord Crashlytics. Si le problème persiste ou si vous rencontrer d'autres erreurs, essayez de localiser vos fichiers dSYM et en les important manuellement dans Crashlytics.

Localiser vos fichiers dSYM sur un ordinateur local

Exécutez la commande suivante pour afficher tous vos fichiers dSYM les UUID sur votre machine et recherchez le fichier dSYM manquant:

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

Une fois que vous avez trouvé le fichier dSYM, importez-le manuellement dans Crashlytics. Si la commande mdfind ne renvoie aucun résultat, vous pouvez consulter Répertoire Products dans lequel se trouve votre .app (par défaut, le Products se trouve dans Derived Data). Si votre application est en production, Vous pouvez également rechercher son fichier dSYM dans le répertoire .xcarchive sur le disque:

  1. Dans Xcode, ouvrez la fenêtre Organisateur, puis sélectionnez votre application dans la liste. Xcode affiche la liste des archives de votre projet.

  2. Appuyez sur la touche Ctrl et cliquez sur une archive pour l'afficher dans le Finder. Effectuez un nouveau clic avec le bouton Ctrl, puis cliquez sur Afficher le contenu du package.

  3. .xcarchive contient un répertoire dSYMs qui contient les dSYM générés dans le cadre du processus d'archivage de Xcode.

Importer vos fichiers dSYM

Crashlytics propose plusieurs méthodes pour importer vos fichiers dSYM : automatiquement ou manuellement.

(Recommandé) Traiter automatiquement vos fichiers dSYM et les importer

Lors de la configuration initiale de Crashlytics, vous avez probablement configuré ceci l'importation automatique de votre application. Toutefois, si les importations automatiques sont échouent, vérifiez que votre configuration est correcte.

Importer manuellement vos fichiers dSYM

Si les importations automatiques échouent, vous pouvez importer manuellement vos fichiers dSYM à l'aide de l'une des options suivantes.

  • Option 1 : utilisez l'option "Glisser-déposer" de la console pour importer un fichier ZIP contenant vos fichiers dSYM (accédez à la console Firebase > Crashlytics > onglet dSYMs).

  • Option 2: Utiliser le script upload-symbols que vous pouvez appeler n'importe où dans votre processus de compilation pour importer manuellement vos fichiers dSYM. Pour exécuter la upload-symbols, utilisez l'une des options suivantes:

    • Option A: incluez la ligne suivante dans votre processus de compilation:

      find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
    • Option B: Exécutez le script directement depuis votre terminal:

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

    Pour obtenir des notes d'utilisation et des instructions supplémentaires concernant ce script, exécutez la commande suivante : upload-symbols avec le paramètre --help.