48 votes

Firebase Crashlytics configuration sur iOS ?

Je suis en train d'essayer d'intégrer Firebase Crashlytics dans mon application iOS, qui a Firebase Crash Reporting activé. J'ai suivi la documentation ici, mais ma construction échoue toujours lors de l'exécution de la phase de build personnalisée :

"${PODS_ROOT}/Fabric/run"

L'erreur dans Xcode est la suivante :

error: Fabric: Problème de configuration

Clé API Fabric non valide. Votre phase de build de script d'exécution Fabric doit contenir votre clé API : ./Fabric.framework/run INSÉRER_VOTRE_CLÉ_API INSÉRER_VOTRE_SECRET_DE_BUILD

Je n'ai pas de clé API Fabric et je suppose que les clés de Fabric devraient être gérées par la bibliothèque Firebase. J'ai le fichier Info.plist dans mon projet, Firebase fonctionne parfaitement, mais je ne peux pas dépasser la phase d'exécution de Fabric. Toute aide sur la façon de résoudre ce problème est grandement appréciée!

0 votes

Le message d'erreur est clair, vous devez obtenir une clé API

3 votes

C'est ce que je pensais, mais la documentation indique clairement que vous n'avez pas besoin de clé API. J'ai finalement trouvé la solution, l'application Fabric.app sur OSX définit automatiquement votre clé d'API Fabric dans le fichier app-info.plist, que le script lit, et échoue si vous ne la fournissez pas. En supprimant cela du info.plist, le script fonctionne simplement.

1 votes

J'ai oublié d'ajouter FirebaseApp.configure() dans AppDelegate. Après l'avoir ajouté, tout fonctionnait parfaitement.

152voto

Lucas P. Points 2126

Enfin compris, publication pour quiconque pourrait être déconcerté par le même problème.

Si vous avez essayé d'installer Fabric via l'application OSX Fabric.app, ou si vous utilisiez Fabric Crashlytics dans le passé, alors il aura ajouté votre clé d'API Fabric à votre Info.plist, que le script de construction d'initialisation de Fabric tente de lire (je suppose).

Après avoir supprimé les clés Fabric du Info.plist, le script fonctionne, sans besoin de clés/paramètres.

La documentation Firebase devrait inclure un avertissement à ce sujet.

1 votes

J'ai eu exactement le même problème, et j'ai suivi votre publication et j'ai supprimé la clé API. Cela fonctionne maintenant. Mais, les plantages ne sont pas enregistrés sur Firebase. Une idée de pourquoi cela se produit ?

0 votes

J'ai également rencontré des problèmes en utilisant Crashlytics.sharedInstance().crash() (sur Android cependant, cela a fonctionné sur iOS) alors je suggérerais de créer un crash réel comme ceci : let nilVar: String? = nil nilVar!.isEmpty() Laissez-moi savoir si le crash apparaît ensuite (donnez-lui au moins 5 minutes, bien que lorsqu'il fonctionne, les crashes apparaissent presque instantanément).

1 votes

Malheureusement non. Cela ne se fait pas enregistré dans Firebase. Mais il dit que le crash a été téléchargé. ` : [Firebase/Crash][I-CRA100002] Les crashes ont été téléchargés avec succès : ( 1e21a90b1c000000 )`

5voto

MkVal Points 345

Si vous suivez de près la documentation de Démarrage, vous pourriez rencontrer quelques frustrations. Faites-moi confiance. J'ai eu ma part de cela.

Voici maintenant ce que je peux partager avec vous.

  1. Si vous aviez précédemment Fabric RunScript pour cette Cible, il est préférable de le supprimer et d'en créer un nouveau, d'appliquer les instructions de démarrage, et de remplacer le $(INFOPLIST_PATH) par GoogleService-Info.plist.

  2. Il ne devrait plus y avoir de configuration Fabric dans votre fichier Info.plist. C'est cette chose: Fabric.... Si vous avez encore cela, il est temps de dire au revoir et de laisser aller ces sentiments ou faire face à ce problème.

  3. Si vous continuez à voir ceci dans votre console Xcode, [Fabric] failed to download settings Error Domain=FABNetworkError Code=-5... blah blah blah, alors nettoyez d'abord ce Dossier de Build (shift + cmd + k).

Si votre prochaine compilation fonctionne, essayez de forcer le crash de votre application et consultez les journaux de crash sur Firebase.

Voici ma pile : Xcode 10.2.1 | Fabric 1.9 | Crashlytics 3.12

0 votes

Remplacer $(INFOPLIST_PATH) par GoogleService-Info.plist a corrigé le formulaire

0 votes

J'avais une vraie croyance que cela devrait fonctionner, mais non ça n'a pas fonctionné.

3voto

MobileMon Points 866

Le problème pour moi était que j'utilisais l'ancienne version de Fabric et que je devais supprimer la clé de mon info.plist

2voto

Alex Pavtoulov Points 61

J'ai suivi la documentation sur https://fabric.io/kits/ios/crashlytics/install et j'ai ajouté le script et mis à jour Info.plist, mais j'ai quand même eu le problème ci-dessus.

Apparemment, j'avais ajouté accidentellement deux fois la phase 'Nouvelle phase de script d'exécution'. Après avoir supprimé les 'scripts d'exécution' inutiles, le projet s'est compilé avec succès.

Xcode 10.1 Fabric 1.7.5 Crashlytics 3.10.4

2voto

cnu Points 325

Documentation

  • si Crashlytics est déjà configuré dans votre projet (en cas de migration),

    1. Supprimez la clé Fabric de Info.plist (il faut supprimer le dictionnaire et la clé pour Fabric)
    2. Suivez la documentation. (il suffit d'utiliser "${PODS_ROOT}/Fabric/run", au lieu de "${PODS_ROOT}/Fabric/run" key1 key2 dans le script Run sous la phase de construction)
  • si Crashlytics n'est pas configuré dans votre projet déjà (début d'une nouvelle intégration avec Firebase Crashlytics), suivez simplement la documentation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X