Yogurt
Yogurt

Reputation: 3045

Firebase/Crashlytics is having trouble submitting crash reports

I followed the directions on Firebase/Crashlytics and I'm having trouble getting my crashes to show up in the console. At one point in time this did work but now it does not.

Here is the console output of a recent attempt to upload after a crash.

2018-12-13 19:18:13.145000-0800 MyApp[599:21332] 4.8.1 - [Firebase/Analytics][I-ACS036002] Firebase 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
file log added:  true
2018-12-13 19:18:13.209647-0800 MyApp[599:21335] 4.8.1 - [Firebase/Core][I-COR000001] Configuring the default app.
2018-12-13 19:18:13.221188-0800 MyApp[599:21269] [Fabric] [Crashlytics] This version of FIRApp does not support isDataCollectionDefaultEnabled. Ignoring.
2018-12-13 19:18:13.221338-0800 MyApp[599:21269] [Fabric] [Crashlytics] This version of FIRApp does not support isDataCollectionDefaultEnabled. Ignoring.
2018-12-13 19:18:13.221364-0800 MyApp[599:21269] [Fabric] [Crashlytics] This version of FIRApp does not support isDataCollectionDefaultEnabled. Ignoring.
2018-12-13 19:18:13.221395-0800 MyApp[599:21269] [Crashlytics] Version 3.12.0 (136)
2018-12-13 19:18:13.221478-0800 MyApp[599:21269] [Crashlytics] Running on iPhone8,4, 11.4.1 (15G77)
2018-12-13 19:18:13.230209-0800 MyApp[599:21269] [Crashlytics:Crash:Reports:Event] Registered Firebase Analytics event listener
2018-12-13 19:18:13.235577-0800 MyApp[599:21341] [Fabric] [Crashlytics] This version of FIRApp does not support isDataCollectionDefaultEnabled. Ignoring.
2018-12-13 19:18:13.243302-0800 MyApp[599:21269] [Answers] Initialized
2018-12-13 19:18:13.289486-0800 MyApp[599:21269] [Fabric] [Crashlytics] This version of FIRApp does not support isDataCollectionDefaultEnabled. Ignoring.
2018-12-13 19:18:13.297664-0800 MyApp[599:21269] [Fabric] Initialized with kit versions: {
    "com.twitter.answers.ios" = "1.4.0";
    "com.twitter.crashlytics.ios" = "3.12.0";
    "io.fabric.sdk.ios" = "1.9.0";
}
2018-12-13 19:18:13.352472-0800 MyApp[599:21341] [Crashlytics:Crash:Reports] Packaged report with id 'fb37c35c9185406b9bd72acc10709fb4' for submission
2018-12-13 19:18:13.353865-0800 MyApp[599:21341] [Crashlytics:Crash] Unable to read identifier at path *SOMEPATH**
2018-12-13 19:18:13.364756-0800 MyApp[599:21341] [FileManager] Failed to remove file '(null)' : (null)
2018-12-13 19:18:13.365267-0800 MyApp[599:21341] [Crashlytics:Crash:Reports] Unable to remove a processing item
2018-12-13 19:18:13.365617-0800 MyApp[599:21341] [Crashlytics:Crash:Reports] Packaged report with id '(null)' for submission
2018-12-13 19:18:13.428401-0800 MyApp[599:21269] [Fabric] [Fabric +with] called multiple times. Only the first call is honored, please pass all kits you wish to initialize
Documents: file:///var/mobile/Containers/Data/Application/841A117D-7E43-4CD7-AEF6-2EB205E18B84/Documents/
Database Directory: /var/mobile/Containers/Data/Application/841A117D-7E43-4CD7-AEF6-2EB205E18B84/Library/Application Support/storage.sqlite
2018-12-13 19:18:13.463439-0800 MyApp[599:21335] 4.8.1 - [Firebase/InstanceID][I-IID013010] InstanceID library version 2.0.10
2018-12-13 19:18:13.470649-0800 MyApp[599:21340] 4.8.1 - [Firebase/Analytics][I-ACS024000] Debug mode is on
2018-12-13 19:18:13.470905-0800 MyApp[599:21340] 4.8.1 - [Firebase/Analytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at somegoogleURL
2018-12-13 19:18:13.495759-0800 MyApp[599:21269] NO CHANGES IN ** MagicalRecord Default Context ** CONTEXT - NOT SAVING
1136.0

As you can see from the log it's having trouble uploading the reports and I can't figure out why.

Here's a brief summary of my app's history, originally it was using Fabric.io, then moved over to Firebase/Crash, then to Firebase/Crashlytics. Here's what I've tried already.

  1. I checked my Google-Service-Info.Plist to see if it matched what was in firebase's General Settings screen.
  2. I checked the script to make sure I'm uploading the dSym properly and it says it is. upload-symbols[65786:2975450] Successfully submitted symbols for architecture arm64 with UUID Some UUID in dSYM: myApp.app.dSYM

  3. I went over the example for the build phases to setup crashlytics and it looks fine

  4. I checked the app id, apple id, and the team ID and it looks correct.
  5. I tried moving the crash around to no avail.

In my console I have not seen the following message

[Crashlytics:Crash] report submission successful

as other users have, though I believe I did a long time ago when this used to work.

[Update] I have indeed removed the Fabric.io keys from the build script and from the info.plist.

[Update] After reading the directions more carefully I noticed that the above console information was actually for a successful upload. I know this because the crash showed up and the time stamp matches the logs. To see how crashes were made to show up properly in the firebase console check the answer.

Upvotes: 3

Views: 2964

Answers (3)

Gaurav Pandey
Gaurav Pandey

Reputation: 1963

I faced the same problem with Firebase/Crashlytics and it took my whole day to figure out what went wrong. Here are the two mistakes I made:

  1. Not following the proper steps - mentioned above by @yogurt.
  2. I updated the build number to easily track on the firebase console but enter an extra new line ex. (1.0.0.52\n). and start getting error - “[FirebaseCrashlytics][I-CLS000000] Failed to read JSON from file (/var/mobile/Containers/Data/Application/xxx-xxx/Library/Caches/com.crashlytics.data/<budel_identifier>/v5/reports/prepared/xx/metadata.clsrecord)"

This I am able to figure out by checking out all the created file on mention path and got issue in settings.json file.

Upvotes: 0

Yogurt
Yogurt

Reputation: 3045

Alright, I'd like to preference that I'm an idiot. And all I had to do was follow the directions. So to further dumb it down for morons like me this is what you have to do to make crashes show up properly.

  1. Run to install it on the device/simulator
  2. Stop the debugger
  3. Run the app without the debugger
  4. Crash the app
  5. Run again with the debugger.

Upvotes: 1

Alex Motor
Alex Motor

Reputation: 1821

I had the same issue yesterday and resolved it myself.

I have moved from Fabric Crashlitics to Firebase by integration. After while I have decided to migrate to Firebase Crashlytics completely.

  1. Check your Build Script. It must be only "${PODS_ROOT}/Fabric/run" without any keys how it was in Fabric. (Also input file must be specified if you have Xcode 10)
  2. You have to remove Fabric key from Info.plist, otherwise Fabric's script shows error about keys missing.
  3. (And It was key point) You have to remove Fabric integration. This integration silent all non-Fabric Crashlytics crashes, even your crash was sent successfully. After remove integration you have to configure Crashlytics with your project before see board with crashes.

Hopefully, it'll help you.

Upvotes: 1

Related Questions