Firebase is back at Google I/O on May 10! Register now

Obtenez des rapports de plantage lisibles dans le tableau de bord Crashlytics

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Par défaut, Firebase Crashlytics traite automatiquement vos fichiers de symboles de débogage (dSYM) pour vous fournir des rapports de plantage clairs et lisibles par l'homme. Ce comportement est défini lorsque vous ajoutez un script d'exécution qui initialise Crashlytics à la phase de génération de votre application.

Malheureusement, il existe quelques cas qui pourraient entraîner l'échec de votre téléchargement dSYM, tels que le bitcode dans votre application ou d'autres configurations de projet uniques. Ce guide fournit des moyens de résoudre les problèmes lorsque Crashlytics ne parvient pas à localiser le dSYM de votre application.

Vérifiez si Xcode produit des dSYM

Le plus souvent, les fichiers dSYM disparaissent parce que Xcode ne les produit tout simplement pas. Lorsqu'un téléchargement échoue, Crashlytics affiche une alerte "Missing dSYM" dans la console Firebase. Si vous recevez cette alerte, vérifiez d'abord que Xcode produit le bon dSYM pour chaque build :

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

  2. Sélectionnez votre cible de construction principale.

  3. Ouvrez l'onglet Build Settings de la cible, puis cliquez sur All .

  4. Recherchez "format d'informations de débogage".

  5. Définissez le format d'informations de débogage sur DWARF avec le fichier dSYM pour tous vos types de construction.

  6. Reconstruisez votre application.

Vos rapports de plantage devraient maintenant apparaître dans la console Firebase. Si le problème persiste ou si vous rencontrez d'autres erreurs, essayez de localiser votre dSYM et de le télécharger manuellement sur Crashlytics.

Localisez vos dSYM

Parfois, Crashlytics ne peut pas localiser le dSYM de votre application en raison de configurations de code binaire ou de la connectivité de la console. Lorsque cela se produit, vous pouvez résoudre le problème de deux manières supplémentaires :

Téléchargez vos dSYM

Pour télécharger manuellement vos dSYM, vous pouvez utiliser l'option "Glisser-déposer" basée sur la console pour télécharger une archive zip contenant vos fichiers dSYM (accédez à la console Firebase > Crashlytics > onglet dSYM ).

Alternativement, en tant que sauvegarde, Crashlytics inclut un script upload-symbols que vous pouvez appeler de n'importe où dans votre processus de construction pour télécharger manuellement vos fichiers dSYM. Le script fournit plus d'informations sur le processus de téléchargement et des messages d'erreur plus complets (pour les notes d'utilisation et des instructions supplémentaires, exécutez upload-symbols sans aucun paramètre).

Lors du téléchargement de fichiers dSYM bitcode, il peut être utile de supprimer tous les fichiers d'icônes dans l'archive zip en exécutant :

unzip appDsyms.zip
cd appDsyms rm -rf $(find . | grep Icon)
# Enumerate all the dSYMs
upload-symbols ... $(ls)

Pour exécuter le script upload-symbols , utilisez l'une des options suivantes :

  • Incluez la ligne suivante dans votre processus de génération :

    find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
  • 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