Firebase/Crashlytics is having trouble submitting crash reports - ios

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.
I checked my Google-Service-Info.Plist to see if it matched what was in firebase's General Settings screen.
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
I went over the example for the build phases to setup crashlytics and it looks fine
I checked the app id, apple id, and the team ID and it looks correct.
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.

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.
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)
You have to remove Fabric key from Info.plist, otherwise Fabric's script shows error about keys missing.
(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.

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.
Run to install it on the device/simulator
Stop the debugger
Run the app without the debugger
Crash the app
Run again with the debugger.

Related

Getting Crashes but showing wrong/old Version number in Firebase Crashlytics

Bitcode: No
Firebase Crashlytics: 8.5.0 (Latest)
I integrated the Firebase Crashlytics in my app on version 3.1.8. On the testing device, it reports me correctly. but when I see the report of online users it reporting me crashes but the version is wrong. as you can see in the screenshot
Now I am not able to download dSYMs from app connect because bitcode is not enabled and I cannot enable it due to pod MobileVLCKit and my local machine don't have 3.1.0 (1).
I am confused about how to deal with it.
I have uploaded 2 more versions(3.1.9 and 3.2.0) but it's showing the same results. strangely my dashboard shows the correct version when I open detail its showing wrong

Crashlytics: No settings were cached | Skipping report

I'm trying to use Crashlytics but for some reason I can't get Firebase to connect with it. I've literally tried everything and read the documentations several times.
What I did so far:
I've added it through CocoaPods
Created a new Run Script:
"${PODS_ROOT}/FirebaseCrashlytics/run"
Added Input files:
$(BUILT_PRODUCTS_DIR)/GoogleService-Info.plist
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
Changed from $(INFOPLIST_PATH) in Firebase documentation to GoogleService-Info.plist in XCode 10.0+, as followed from this question
Everything on the web seems to be old and not updated to the latest Crashlytics version and this message just not want to disappear (could not get data uploaded from my device):
I've also added -FIRDebugEnabled and traced logs and found that I have the following errors:
[Firebase/Crashlytics] Version 4.0.0-beta.5
[Firebase/Crashlytics][I-CLS000000] [Crashlytics] Running on iPhone10,2, 14.0.1 (18A393)
[Firebase/Crashlytics][I-CLS000000] [Crashlytics:Settings] No settings were cached
[Firebase/Crashlytics][I-CLS000000] Root: /var/mobile/Containers/Data/Application/E9EFD0F4-85CF-4BB1-8E71-E5136293E004/Library/Caches/com.crashlytics.data/com.xxx.xxxxxxx
[Firebase/Crashlytics][I-CLS000000] Skipping report with id '2ff5a6c8e50c4734b89380c38cb369c0' this run of the app because Organization ID was nil. Report will upload once settings are download successfully
Firebase documentation:
https://firebase.google.com/docs/crashlytics/get-started?platform=ios&authuser=0
https://firebase.google.com/docs/crashlytics/test-implementation?authuser=0

iOS App in flutter crashes during launch trying to configure Crashlytics

I've a few apps connected to my firebase project. Recently one of those apps..an iOS app... crashes while launching on my simulator. The output is:
└─Compiling, linking and signing... 20.3s
Xcode build done. 59.8s
Configuring the default Firebase app...
[Crashlytics] Version 3.14.0 (144)
Configured the default Firebase app __FIRAPP_DEFAULT.
[Fabric] [Fabric +with] called multiple times. Only the first call is honored, please pass all kits you wish to initialize
Error connecting to the service protocol: failed to connect to http://127.0.0.1:57399/MD_uhGLIBGA=/
The iOS app doesn't have Crashlytics or Fabric installed. So I presume it's something that's changed with firebase. I added a web app to the project which has analytics installed(not Crashlytics). I think it's since then my problem started. Is there a way for my client app to " forget" about the crashlytics service?

Firebase Crashlytics iOS: Cannot receive events even though the script seems running

I know this can be a seemingly frequently asked question, but I cannot receive events from Firebase Crashlytics.
Of course I searched around for the previously asked questions, but none was my case.
If someone has any idea other than the things I've done below, please let me know.
What I've done:
Checked the build script (${PODS_ROOT}/Fabric/run) is running. It leaves this kind of message on the log and nothing looks wrong. Also, when I faked the path or filename just for double-cheking the build stopped with a script not found error.
Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Validation succeeded. Exiting because upload-symbols was run in validation mode
Freshly downloaded GoogleService-Info.plist from the dashboard. This also looks like working because deleting or renaming this file gives me a build error(=file itself is recognized) and faking the bundle id inside the plist gives me a warning in the runtime(=file content is read). I believe this also eliminates the possibility that the event is being sent to somewhere else unexpectedly.
Detached from debugger when testing. I think this is what most of people have experienced. I made sure of this hundreds of times by doing kill -> relaunch -> crash -> relaunch many times.
Excluded crash testing code from launch process. This is also a common pitfall, and I of course wrote the crash code in a button event handler.
Note: For better debugging you should use the -FIRDebugEnabled flag in Arguments Passed On Launch. This worked for me:
1) Change your run script:
"${PODS_ROOT}/Fabric/run" -d
In your build output you should now see the API Key:
Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Arguments:
Debug mode enabled
API Key: <api-key>
Platform: ios
DSYM Paths: ["..."]
2) Manually initialize Crashlytics in your AppDelegate:
Crashlytics.start(withAPIKey: "<api-key>", delegate: self)
Launch the app, you should see the crashlytics output:
Crashlytics] Version 3.14.0 (144)
[Crashlytics] Running on iOS Simulator (iPhone), 13.1.0 (19A602)
[Fabric] settings downloaded successfully
[Fabric] Settings are available for consumption
3) Perform a crash (with debugger detached). After this you should see this output:
[Crashlytics:Crash] report submission successful

Crashlytics Failed to load settings error

I have Crashlytics integrated in my app but recently it stopped sending crash reports. Unfortunately, it's not because there aren't any.
I've turned on the debug mode of Crashlytics and this is what I see in the log:
[Crashlytics] Loading settings
[Crashlytics] Settings url string: 'https://settings.crashlytics.com/spi/v1/platforms/ios/apps/FOOBAR'
[Crashlytics] Settings response: {status: 502, error: (null)}
[Crashlytics] Failed to load settings
[Crashlytics] Settings load scheduled (600)
Could this be the reason? Is there anything I can do about it?
Turns out it was just a minor hick-up while they were updating their servers. I have to express my thanks to Mike from Crashlytics who promptly reached out and explained the situation. Great customer service!
Do you have your bundle identifier set to FOOBAR instead of a com.company.something setting?

Resources