web-dev-qa-db-fra.com

Crashlytics n'envoie pas de rapport de crash depuis l'iPhone

J'ai configuré Crashlytics dans une seule application iOS et installé l'application sur un appareil réel. Mon tableau de bord Crashlytics affiche cela, j'ai ajouté l'application avec succès. Cependant, il n'envoie pas de rapport d'erreur. Ma vitesse internet n'est pas très bonne. Mais je peux consulter mes emails depuis cet appareil. Quelqu'un peut-il deviner, où est le problème?

64
farhad rubel

Le débogueur Xcode n'autorise pas Crashlytics à traiter les rapports d'incident. Oui, ça me semble bizarre même quand je lis cette première fois, mais c'est un fait ( Source ). C'est la raison pour laquelle nous ne voyons jamais de rapport d'accident
- exécution de l'application dans le simulateur
- Exécuter l'application sur iDevice directement par construire et exécuter à partir de Xcode avec le débogueur sur. 

Pour vous assurer qu'un incident est signalé lors de vos tests ( copié à partir du site de support Crashlytics ):
1. Lancer le simulateur
2. Appuyez sur stop
3. Lancez votre application et forcez un crash
4. Relancez l'application depuis le simulateur
5. Consultez le rapport d'incident dans le tableau de bord Web.

MODIFIER:

Ajout d'une référence Crashlytics fournit également un court article sur un moyen rapide de forcer un crash et un article sur pourquoi vous ne voyez pas les données de votre premier crash .

69
Saurabh Hooda

Mon être est en retard mais travaille à 100%

Modifiez les paramètres de construction du projet comme dans l'image ci-dessous.

 enter image description here

et suivez ces instructions.

58
Anand Suthar

La principale raison pour laquelle un journaliste d'incident ne fonctionnera pas sur iOS est due aux interférences de différents rapporteurs d'incident. Cependant, avec Crashlytics en particulier, il pourrait y avoir quelque chose de spécifique qui empêche le compte-rendu d'accident de se produire.

Le débogueur Xcode n'autorise PAS Any Crash Reporter à traiter les rapports d'incident. Cela est dû au fait que XCode remplace tous les points d'ancrage dans les rappels de traitement des incidents. Cela n'arrive que lorsque:

  • exécution de l'application dans Simulator (avec le débogueur activé)
  • l'exécution de l'application sur iDevice directement par la construction et l'exécution à partir de Xcode avec le débogueur activé.

Pour vous assurer qu'un incident est signalé lors de vos tests ( http://support.crashlytics.com/knowledgebase/articles/92523-why-can-t-i-have-xcode-connected- ):

  1. Lancer le simulateur
  2. Arrêt de la presse
  3. Lancez votre application et forcez un crash
  4. Relancer l'application depuis le simulateur
  5. Voir le rapport d'incident dans le tableau de bord Web.

Même si une vieille vidéo est toujours d'actualité, voici une vidéo des étapes ci-dessus (exemple tiré de Crittercism): https://www.youtube.com/watch?v=sU6Su3PBFH4

14
Eddie Freeman

Pour moi, le problème était que le périphérique était connecté à mon Mac:) De cette source :

De plus, si votre appareil est connecté à votre Mac, le débogueur de XCode interviendra aussi. Il suffit donc de déconnecter le périphérique avant de tester :)

7
Fengson

Nous avons récemment rencontré ce problème et j'ai constaté que le script de construction avait été supprimé quelque part. L'ajouter avec ce qui suit a résolu le problème pour nous:
./Crashlytics.framework/run <your_api_key> <build_secret>

Note: Lorsque vous utilisez des Cocoapods, vous voudrez nous ce qui suit au lieu de ce qui précède ( source ): ./Pods/CrashlyticsFramework/Crashlytics.framework/run

Ajouter un script de compilation: 

  1. Pour ajouter une phase de construction de script d'exécution dans Xcode 6, sélectionnez votre cible d'application dans votre projet, puis sélectionnez "Créer des phases".
  2. Cliquez sur la petite icône "plus" et sélectionnez "Nouvelle phase de construction de script d'exécution".
  3. Vous devriez maintenant voir une section Exécuter le script au milieu de vos options de phase de construction, comme indiqué ci-dessus.
  4. À l'intérieur du corps de la phase de construction du script d'exécution, collez le script.

La citation ci-dessus provient du tutoriel visuel de Crashlytics , référencé dans ce post .

Remarque: À l’origine, j’ai posté cette réponse textuellement pour Code d’erreur Crashlytics: 202 lors de la soumission de fichiers .

6
James Nelson

J'ai trouvé la solution en suivant les étapes suivantes
1. Allez à Edit Scheme 2. Exécuter -> Info 3. Modifiez la configuration de construction pour libérer . Maintenant, lancez l'application, plantez-la. Vous recevrez un courrier.

6
GSK

Sur le site RayWenderlich:

Vous n’obtiendrez aucun rapport d’incident si Xcode intercepte cet incident! Pour que tous les exemples ci-dessous fonctionnent, vous devez créer et exécuter le fichier application, puis cliquez sur le bouton d'arrêt sur Xcode. De cette façon, vous aurez avoir la dernière version installée sur le périphérique. Une fois que c'est Si vous avez terminé, vous pouvez lancer l’application sur l’appareil lui-même, puis la bloquer tout ce que tu veux! Tous les accidents sur votre appareil iOS seront pris et envoyé au composant serveur du service que vous avez intégré dans l'application. Les rapports d'incident sont généralement envoyés au serveur le prochain vous démarrez l’application, donc les étapes à suivre pour générer un blocage Les rapports sur le serveur sont les suivants: Construire et exécuter sur Xcode. Appuyez sur la bouton d'arrêt. Exécutez l'application sur votre appareil iOS. Faire le crash de l'application. Courir l'application à nouveau.

4
Michel Goñi

J'ai rencontré un problème similaire lors de l'essai du code de crash de test.

Crashlytics.sharedInstance().crash()

J'exécutais mon application depuis un appareil, sans Xcode, et le crash ne s'affichait pas sur le tableau de bord Crashlytics. Ce qui a fonctionné pour moi a été le conseil suivant du site Web Crashlytics:

  • Assurez-vous de lancer l'application après l'avoir plantée, afin que la panne puisse se produire.

J'ai commenté l'appel crash () ci-dessus et j'ai relancé l'application. Puis l'accident est apparu dans le tableau de bord.

3
Ravi

Assurez-vous de ne pas forcer le crash trop tôt.

Définissez [Crashlytics sharedInstance].debugMode sur YES;

Surveiller

Crashlytics] Settings loaded

sur les journaux de la console Xcode.

Puis forcez le crash et redémarrez l'application, et le crash sera signalé maintenant.

3
erkanyildiz

Crashlytics a fonctionné pour moi jusqu'à maintenant ... Je ne sais pas pourquoi mais maintenant cela ne fonctionne pas.

Vous devez activer le mode débogage en

[Crashlytics sharedInstance].debugMode = YES;

Mon problème est ici Code d'erreur Crashlytics: 202 lors de l'envoi de fichiers :(

2
Tony

Si vous ne téléchargez pas le fichier dSYM, Crashlytics n’affiche pas votre blocage, même si le rapport a été chargé avec succès.

Vous pourriez rencontrer ce problème si vous avez configuré votre script de construction pour qu'il ne s'exécute que sur votre serveur CI. Ensuite, si vous avez copié votre application sur votre téléphone via xcode et que vous l'exécutez sans être attachée au débogueur, le rapport sera chargé mais ignoré à cause du fichier dSYM manquant.

1
thetrutz

Avez-vous essayé d'exécuter [[Crashlytics sharedInstance] crash] sur un appareil et de voir si cela était signalé? Il y a quelques raisons pour lesquelles Crashlytics pourrait ne pas fonctionner, y compris d'autres rapporteurs d'accident, etc.

1
Patrick Tescher

Parfois, il faut un certain temps pour que les journaux apparaissent. Je suis capable de les trouver après 15-20 minutes

0
Lax

Un des problèmes que je ressens est que, dans la phase d’exécution de script, il devrait s'agir d’une phase distincte d’exécution de script pour CrashLytics. Quand le script a-t-il été lancé? 

./Fabric.framework/run

Avec certains de mes autres scripts, tout allait bien, le rapport d’affichage du journal de bord de CrashLytics a été soumis, mais rien n’était dans l’interface Web. 

Lorsque j'ajoute une autre phase de script d'exécution uniquement avec l'exécution de Fabric, cela ressemble à une magie :) 

Mon premier essai a été avec des cocoapods, mais cela n'a pas fonctionné. Lorsque j'ajoute manuellement tout le framework et une phase de script d'exécution distincte qui a fonctionné. 

0
karim

Ceci est pour xcode 9, de crashlyly 3.4.0  STEP1  STEP2

Après cela, soyez patient et attendez quelques minutes.

0
Ted