NativeScript / firebase

Modular Firebase 🔥 implementation for NativeScript. Supports both iOS & Android platforms for all Firebase services.
https://docs.nativescript.org/plugins/firebase-core.html
Apache License 2.0
54 stars 49 forks source link

[firebase-crashlytics][ios] dSYM files are missing #93

Open jessorlisa opened 2 years ago

jessorlisa commented 2 years ago

Environment

Describe the bug Since switching from the legacy Firebase plugin (Eddy's) to the modular one the Firebase Crashlytics Console shows: This app has 37 unprocessed crashes. Upload 2 dSYM files to process them. and offers me to manually upload dSYM files to get symbolicated crash reports.

Expected behavior Crashlytics reports are working without the need to upload anything manually. If I really have to, where do I find them? ;)

fpaaske commented 2 years ago

I would really love this to be handled automatically as well!

As for how to find and upload dSYMs; Find which UUIDs are missing on Crashlytics: image

When standing in your project root folder: Find them with

mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done | grep UUID

Where UUID is from the list Crashlytics is complaining about.

Upload them with

platforms/ios/Pods/FirebaseCrashlytics/upload-symbols -gsp App_Resources/iOS/GoogleService-Info.plist -p ios "/Path/To/File.dSYM"
danouche93 commented 2 years ago

I would really love this to be handled automatically as well!

As for how to find and upload dSYMs; Find which UUIDs are missing on Crashlytics: image

When standing in your project root folder: Find them with

mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done | grep UUID

Where UUID is from the list Crashlytics is complaining about.

Upload them with

platforms/ios/Pods/FirebaseCrashlytics/upload-symbols -gsp App_Resources/iOS/GoogleService-Info.plist -p ios "/Path/To/File.dSYM"

I tried your solution to get the dsym file but I get an error that it doesn't find it. Do you have a solution for this ? I don't know where to get the file for Crashlytics to work.

bozzanova-ab commented 1 year ago

The previous version of this plugin (@nativescript/firebase) added this step automatically as a after-prepare hook, but it looks like it's no longer present.

You can still get it to upload automatically if you edit the build steps in Xcode by following the instructions here: https://firebase.google.com/docs/crashlytics/get-started?platform=ios#set-up-dsym-uploading.

fpaaske commented 1 year ago

@danouche93 you can also find the dSYMs via Xcode -> Organizer -> Select you build and "Show in Finder" image

Right click the .xcarchive and "Show Package Contents" image

Open the dSYMs folder and you should see all the dSYM-files for this build. image

You can make a Zip-file of all the dSYM-files and upload them to Crashlytics via Drag'n'drop image

danouche93 commented 1 year ago

@fpaaske Yes that's what I do now, thank you !

fpaaske commented 1 year ago

Hehe, it's a month later; I suspected you already figured a way to do this 😅

Anyway, always good to share, maybe it helps someone else who stumbles upon this issue too.

Have a nice weekend!