| Sélectionnez la plate-forme : | iOS+ Android Flutter Unity |
Par défaut, Firebase Crashlytics traite automatiquement vos fichiers contenant les symboles de débogage (dSYM) afin de vous fournir des rapports d'erreur simplifiés et compréhensibles. Vous configurez généralement ce comportement lors de la configuration initiale de Crashlytics dans votre application, en ajoutant un script d'exécution qui importe automatiquement les fichiers dSYM lors de la phase de compilation de votre application.
Malheureusement, dans certains cas, l'importation automatique de vos fichiers dSYM peut échouer. Ce guide fournit quelques méthodes de dépannage lorsque Crashlytics ne parvient pas à localiser les fichiers dSYM de votre application.
Vérifiez qu'Xcode peut traiter automatiquement les fichiers dSYM et les importer
Lorsque vous avez configuré Crashlytics dans votre application, vous avez configuré un script d'exécution pour traiter automatiquement les fichiers dSYM et les importer.
Assurez-vous que votre configuration du script d'exécution Crashlytics est
à jour avec les nouvelles exigences qui ont commencé avec Xcode 15. Si votre
configuration n'est pas à jour, vous pouvez recevoir l'erreur suivante :
error: Info.plist Error Unable to process Info.plist at path ....
Plus précisément, Xcode 15 et versions ultérieures vous obligent à fournir un ensemble plus complet d'emplacements de fichiers. Pour votre script d'exécution Crashlytics
(firebase-ios-sdk/Crashlytics/run), assurez-vous que la configuration suivante est en place
:
Cliquez sur l'onglet Build Phases (Phases de compilation), puis développez la section Run Script (Exécuter le script).
Dans la section Input Files (Fichiers d'entrée), assurez-vous 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
Si vous avez$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
ENABLE_USER_SCRIPT_SANDBOXING=YESetENABLE_DEBUG_DYLIB=YESdans les paramètres de compilation de votre projet, incluez les éléments suivants :${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib
Vérifiez si Xcode produit des fichiers dSYM
Le plus souvent, les fichiers dSYM sont manquants, car Xcode ne les produit pas. Lorsqu'une importation échoue, Crashlytics affiche une alerte "Missing dSYM" (Fichier dSYM manquant) dans la Firebase console. Si vous recevez cette alerte, vérifiez d'abord qu'Xcode produit le fichier dSYM correct pour chaque compilation :
Ouvrez votre projet dans Xcode, puis sélectionnez le fichier de projet dans le navigateur Xcode.
Sélectionnez votre cible de compilation principale.
Ouvrez l'onglet Build Settings (Paramètres de compilation) de la cible, puis cliquez sur All (Tout).
Recherchez
debug information format.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.
Recompilez votre application.
Vos rapports d'erreur devraient maintenant s'afficher dans le Crashlytics tableau de bord. Si le problème persiste ou si vous rencontrez d'autres erreurs, essayez de localiser vos fichiers dSYM et les importer manuellement dans Crashlytics.
Localisez vos fichiers dSYM sur une machine locale
Exécutez la commande suivante pour afficher les UUID de tous vos fichiers dSYM sur votre machine et rechercher 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 rechercher dans le répertoire Products où se trouve votre fichier .app (par défaut, le répertoire Products se trouve dans Derived Data). Si votre application est mise en production, vous pouvez également rechercher son fichier dSYM dans le répertoire .xcarchive sur le disque :
Dans Xcode, ouvrez la fenêtre Organizer (Organisateur), puis sélectionnez votre application dans la liste. Xcode affiche une liste d'archives pour votre projet.
Cliquez sur une archive en maintenant la touche Ctrl enfoncée pour l'afficher dans le Finder. Cliquez à nouveau sur l'archive en maintenant la touche Ctrl enfoncée, puis cliquez sur Show Package Contents (Afficher le contenu du package).
Dans
.xcarchive, vous trouverez un répertoire dSYMs qui contient les fichiers dSYM générés dans le cadre du processus d'archivage d'Xcode.
Importez vos fichiers dSYM
Crashlytics permet d'importer vos fichiers dSYM de plusieurs manières, soit automatiquement ou manuellement.
(Recommandé) Traitez automatiquement vos fichiers dSYM et importez-les
Lorsque vous avez configuré Crashlytics pour la première fois, vous avez probablement configuré ce comportement d'importation automatique pour votre application. Toutefois, si les importations automatiques échouent, vérifiez que votre configuration est correcte.
Importez 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" basée sur la console pour importer un fichier ZIP contenant vos fichiers dSYM (accédez à la Firebase console > Crashlytics > onglet dSYMs).
Option 2 : utilisez le script
upload-symbolsque vous pouvez appeler n'importe où dans votre processus de compilation pour importer manuellement vos fichiers dSYM. Pour exécuter le scriptupload-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 directement le script 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 sur ce script, exécutez
upload-symbolsavec le paramètre--help.