web-dev-qa-db-fra.com

Flutter: Flutter Firebase Crashlytics ne s'affiche pas pour iOS

Je ne parviens pas à afficher les journaux de plantage pour iOS (fonctionne pour Android). J'ai testé ce qui suit:

  1. Démarrage de l'application en utilisant "flutter run", détachement du débogueur, déclenchement du crash et redémarrage de l'application (tout cela plusieurs fois)
  2. Également essayé d'exécuter à partir de XCode, puis arrêté l'application, déclencher le plantage et redémarrer l'application
  3. Non pas que le crash ne fasse pas planter l'application, mais je ne sais pas comment faire cela à partir de flutter

Démarrage:

void main() {
  // Set `enableInDevMode` to true to see reports while in debug mode
  // This is only to be used for confirming that reports are being
  // submitted as expected. It is not intended to be used for everyday
  // development.
  Crashlytics.instance.enableInDevMode = true;

  // Pass all uncaught errors from the framework to Crashlytics.
  FlutterError.onError = Crashlytics.instance.recordFlutterError;
  runApp(MyApp());
}

Déclencheur:

FlatButton(
  child: const Text('Crash'),
  onPressed: () {
    Crashlytics.instance.crash();
    Crashlytics.instance.log("msg");
    Crashlytics.instance.recordFlutterError(new FlutterErrorDetails());
    Crashlytics.instance.recordError(new Exception("test"), null);
  }),

Paramètres iOS: enter image description here

Journal:

2020-02-07 10:47:59.988421+0100 Runner[32021:139387]  - <AppMeasurement>[I-ACS036002] Analytics screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2020-02-07 10:48:00.467672+0100 Runner[32021:139200] Configuring the default Firebase app...
2020-02-07 10:48:00.509841+0100 Runner[32021:139388] 6.12.0 - [Firebase/Core][I-COR000004] App with name __FIRAPP_DEFAULT does not exist.
2020-02-07 10:48:00.564015+0100 Runner[32021:139403] 6.12.0 - [Firebase/Analytics][I-ACS023007] Analytics v.60105000 started
2020-02-07 10:48:00.633609+0100 Runner[32021:139403] 6.12.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled
2020-02-07 10:48:00.686296+0100 Runner[32021:139428] flutter: Observatory listening on http://127.0.0.1:51095/Jl5T2U0QjXU=/
2020-02-07 10:48:00.703093+0100 Runner[32021:139200] [Crashlytics] Version 3.14.0 (144)
2020-02-07 10:48:00.741256+0100 Runner[32021:139200] Configured the default Firebase app __FIRAPP_DEFAULT.
2020-02-07 10:48:00.746360+0100 Runner[32021:139200] [Fabric] [Fabric +with] called multiple times. Only the first call is honored, please pass all kits you wish to initialize
2020-02-07 10:48:00.788062+0100 Runner[32021:139387] 6.12.0 - [Firebase/Messaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO.
to ensure proper integration.
2020-02-07 10:48:00.907902+0100 Runner[32021:139387] [Fabric] failed to download settings Error Domain=FABNetworkError Code=-5 "(null)" UserInfo={status_code=403, type=2, request_id=, content_type=application/json; charset=utf-8}
2020-02-07 10:48:03.072501+0100 Runner[32021:139403] 6.12.0 - [Firebase/Messaging][I-FCM012002] Error in application:didFailToRegisterForRemoteNotificationsWithError: remote notifications are not supported in the simulator
2020-02-07 10:48:03.100106+0100 Runner[32021:139403] 6.12.0 - [Firebase/Messaging][I-FCM012002] Error in application:didFailToRegisterForRemoteNotificationsWithError: remote notifications are not supported in the simulator
2020-02-07 10:49:51.975510+0100 Runner[32021:139410] flutter: Flutter error caught by Crashlytics plugin:
2020-02-07 10:49:52.003794+0100 Runner[32021:139410] flutter: ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
2020-02-07 10:49:52.004161+0100 Runner[32021:139410] flutter: The following StateError was thrown while handling a gesture:
2020-02-07 10:49:52.004429+0100 Runner[32021:139410] flutter: Bad state: Error thrown by Crashlytics plugin
2020-02-07 10:49:52.005323+0100 Runner[32021:139410] flutter:
2020-02-07 10:49:52.006106+0100 Runner[32021:139410] flutter: When the exception was thrown, this was the stack:
2020-02-07 10:49:52.006490+0100 Runner[32021:139410] flutter: #0      Crashlytics.crash (package:firebase_crashlytics/src/firebase_crashlytics.Dart:54:5)
2020-02-07 10:49:52.007125+0100 Runner[32021:139410] flutter: #1      _InformationPageState.build.<anonymous closure> (package:mainapp/pages/informationpage.Dart:71:42)
2020-02-07 10:49:52.007856+0100 Runner[32021:139410] flutter: #2      _InkResponseState._handleTap (package:flutter/src/material/ink_well.Dart:706:14)
2020-02-07 10:49:52.008560+0100 Runner[32021:139410] flutter: #3      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.Dart:789:36)
2020-02-07 10:49:52.008828+0100 Runner[32021:139410] flutter: #4      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.Dart:182:24)
2020-02-07 10:49:52.009341+0100 Runner[32021:139410] flutter: #5      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.Dart:486:11)
2020-02-07 10:49:52.009923+0100 Runner[32021:139410] flutter: #6      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.Dart:264:5)
2020-02-07 10:49:52.010181+0100 Runner[32021:139410] flutter: #7      BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.Dart:236:7)
2020-02-07 10:49:52.010389+0100 Runner[32021:139410] flutter: #8      GestureArenaManager.sweep (package:flutter/src/gestures/arena.Dart:156:27)
2020-02-07 10:49:52.011013+0100 Runner[32021:139410] flutter: #9      GestureBinding.handleEvent (package:flutter/src/gestures/binding.Dart:222:20)
2020-02-07 10:49:52.011399+0100 Runner[32021:139410] flutter: #10     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.Dart:198:22)
2020-02-07 10:49:52.011511+0100 Runner[32021:139410] flutter: #11     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.Dart:156:7)
2020-02-07 10:49:52.011970+0100 Runner[32021:139410] flutter: #12     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.Dart:102:7)
2020-02-07 10:49:52.012203+0100 Runner[32021:139410] flutter: #13     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.Dart:86:7)
2020-02-07 10:49:52.012346+0100 Runner[32021:139410] flutter: #17     _invoke1 (Dart:ui/hooks.Dart:273:10)
2020-02-07 10:49:52.012806+0100 Runner[32021:139410] flutter: #18     _dispatchPointerDataPacket (Dart:ui/hooks.Dart:182:5)
2020-02-07 10:49:52.012924+0100 Runner[32021:139410] flutter: (elided 3 frames from package Dart:async)
2020-02-07 10:49:52.013019+0100 Runner[32021:139410] flutter:
2020-02-07 10:49:52.013112+0100 Runner[32021:139410] flutter: Handler: "onTap"
2020-02-07 10:49:52.013202+0100 Runner[32021:139410] flutter: Recognizer:
2020-02-07 10:49:52.013695+0100 Runner[32021:139410] flutter:   TapGestureRecognizer#89339
2020-02-07 10:49:52.014395+0100 Runner[32021:139410] flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
2020-02-07 10:49:52.086067+0100 Runner[32021:139410] flutter: firebase_crashlytics: Error reported to Crashlytics.
2020-02-07 10:49:52.739934+0100 Runner[32021:139410] flutter: Flutter error caught by Crashlytics plugin:
2020-02-07 10:49:52.743795+0100 Runner[32021:139410] flutter: ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
2020-02-07 10:49:52.743983+0100 Runner[32021:139410] flutter: The following StateError was thrown while handling a gesture:
2020-02-07 10:49:52.744139+0100 Runner[32021:139410] flutter: Bad state: Error thrown by Crashlytics plugin
2020-02-07 10:49:52.744313+0100 Runner[32021:139410] flutter:
2020-02-07 10:49:52.744542+0100 Runner[32021:139410] flutter: When the exception was thrown, this was the stack:
2020-02-07 10:49:52.744708+0100 Runner[32021:139410] flutter: #0      Crashlytics.crash (package:firebase_crashlytics/src/firebase_crashlytics.Dart:54:5)
2020-02-07 10:49:52.744848+0100 Runner[32021:139410] flutter: #1      _InformationPageState.build.<anonymous closure> (package:mainapp/pages/informationpage.Dart:71:42)
2020-02-07 10:49:52.744946+0100 Runner[32021:139410] flutter: #2      _InkResponseState._handleTap (package:flutter/src/material/ink_well.Dart:706:14)
2020-02-07 10:49:52.745148+0100 Runner[32021:139410] flutter: #3      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.Dart:789:36)
2020-02-07 10:49:52.751009+0100 Runner[32021:139410] flutter: #4      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.Dart:182:24)
2020-02-07 10:49:52.751514+0100 Runner[32021:139410] flutter: #5      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.Dart:486:11)
2020-02-07 10:49:52.751758+0100 Runner[32021:139410] flutter: #6      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.Dart:264:5)
2020-02-07 10:49:52.752005+0100 Runner[32021:139410] flutter: #7      BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.Dart:236:7)
2020-02-07 10:49:52.752543+0100 Runner[32021:139410] flutter: #8      GestureArenaManager.sweep (package:flutter/src/gestures/arena.Dart:156:27)
2020-02-07 10:49:52.753430+0100 Runner[32021:139410] flutter: #9      GestureBinding.handleEvent (package:flutter/src/gestures/binding.Dart:222:20)
2020-02-07 10:49:52.753672+0100 Runner[32021:139410] flutter: #10     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.Dart:198:22)
2020-02-07 10:49:52.755470+0100 Runner[32021:139410] flutter: #11     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.Dart:156:7)
2020-02-07 10:49:52.755806+0100 Runner[32021:139410] flutter: #12     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.Dart:102:7)
2020-02-07 10:49:52.756565+0100 Runner[32021:139410] flutter: #13     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.Dart:86:7)
2020-02-07 10:49:52.757056+0100 Runner[32021:139410] flutter: #17     _invoke1 (Dart:ui/hooks.Dart:273:10)
2020-02-07 10:49:52.757240+0100 Runner[32021:139410] flutter: #18     _dispatchPointerDataPacket (Dart:ui/hooks.Dart:182:5)
2020-02-07 10:49:52.757838+0100 Runner[32021:139410] flutter: (elided 3 frames from package Dart:async)
2020-02-07 10:49:52.758046+0100 Runner[32021:139410] flutter:

Résultat: enter image description here

Edit1: Si je regarde project.pbxproj, dans leur exemple https://github.com/FirebaseExtended/flutterfire/blob/master /packages/firebase_crashlytics/example/ios/Runner.xcodeproj/project.pbxproj il dit:

inputPaths = ("$ (SRCROOT)/newInputFile",);

tandis que le mien dit:

inputPaths = ("$ (BUILT_PRODUCTS_DIR)/$ (INFOPLIST_PATH)",);

qui est selon leur documentation https://pub.dev/packages/firebase_crashlytics . Serait-ce la raison?

5
Viktor Morin

J'arrive à le faire fonctionner aujourd'hui, j'avais manqué que vous deviez ajouter le SDK pour iOS dans Firebase Console.

Étape 1: Configurer Crashlytics dans la console Firebase
Cliquez sur Crashlytics dans le panneau de navigation de gauche de la console Firebase.

Si votre projet Firebase contient plusieurs applications enregistrées, sélectionnez l'application que vous venez d'ajouter dans la liste déroulante à côté de Crashlytics dans la barre supérieure de la console.

Cliquez sur Ajouter un SDK.

https://firebase.google.com/docs/crashlytics/get-started

0
Viktor Morin

Avez-vous ajouté GoogleService.plist à votre projet? Depuis la sortie de la console pour moi ressemble à Firebase ne peut pas trouver les configurations.

Gardez également à l'esprit que les plantages ont un délai d'un jour avant leur apparition dans votre tableau de bord en ligne, car vous disposez du plan spark). Pour les versions payantes, je ne connais pas le délai.

0
Tim Bierbaum

$ (BUILT_PRODUCTS_DIR)/$ (INFOPLIST_PATH) ne doit être ajouté que pour Xcode 10

Avez-vous également installé un logiciel de blocage des publicités sur votre réseau? car c'est ce qui a empêché la journalisation des erreurs pour moi.

0
user5269602

J'ai juste eu le même problème. La version Android fonctionnait, cependant, la version iOS n'affichait rien dans crashlytics. Veuillez l'essayer sur votre téléphone. Le simulateur iOS n'est pas reconnu comme un appareil légitime par Firebase.

0
Felix