I am using Crashlytics in my app everything working fine. even Crashlytics is also working good.
But the problem is that whenever I am creating a new build for our app its again showing missing DSYM File upload new.
Is there any solution for this?
In fabric Document, I found this. but I did not understand this.
can anyone explain to me how to resolve this issue?
https://docs.fabric.io/apple/crashlytics/advanced-setup.html
By default, Firebase Crashlytics automatically processes your debug symbol (dSYM) files to give you deobfuscated and human-readable crash reports. This behavior is set when you add a run script that initializes Crashlytics to your app's build phase.
A dSYM file is an ELF file that contains DWARF (debugging with attributed record formats) debug information for your application. DWARF is a debugging file format that supports source-level debugging.
Your app's dSYM files are stored in Xcode's dSYM archive path folder. This is the folder where the iOS agent gets the dSYM files that are used to symbolicate your crash reports.
We've recently encountered the same issue. Ended up with a bit customized version of an uploading script.
if [[ "${CONFIGURATION}" = "Release" ]] || [[ "${CONFIGURATION}" = "Adhoc" ]]; then
echo "Uploading dSYMs.."
find "${DWARF_DSYM_FOLDER_PATH}" -name "*.dSYM" | xargs -I \{\} "${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${SRCROOT}/GoogleService-Info.plist" -p ios \{\}
else
echo "Skip dSYMs upload"
fi
Note quoted paths and skipped dSYM uploads in a Debug configuration. Though it probably won't matter most of the time, as dSYMS are switched off in the Debug configuration anyway.
Also the purpose of find
here is to help upload dynamic frameworks' dSYM files. E.g. OS third-party libraries, project frameworks, etc. Otherwise, they won't be symbolicated. Though still presented in stack traces.
Everytime you recompile your project after adding a line of code, the dSYM changes because the address of your lines of code in the resulting binary is not the same.
You can look at Fabric docs about uploading dsym to automatically upload your dSYM by adding a build phase or use the Fabric pod instead of just Crashlytics which apparently adds a build phase automatically like @ekscrypto said.
If you still want to do this manually, open your xcarchive where you can find your dSYMs and upload them to crashlytics
dSYM is short for debug SYMbols. This helps crashlytics resolve the crash logs it receives and helps display detailed information about the crashes/bugs that can occur.
When you archive your app, you're left with *.xcarchive "file" which really is a folder that you can browse. Inside this xcarchive, you should have a dSYM folder where your dSYMs are.
To view it, first open organizer window in XCode (Window > Organizer or cmd+shift+6), right click on the last archive and click "Show in Finder". On the Finder window that opens, right click the last xcarchive for your app and click on show contents (sorry the picture is in french)
This takes you inside your xcarchive where you can see the dSYMs for your app
Uploading this to crashlytics should solve your issue
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With