As of May 2020:
After Fabrics
shut down, many developers faced such issues because Fabric was automatically creating the script to upload dSYM
files from Xcode
and we never pay attention to it.
Now as Fabric
is replaced with FirebaseCrashlytics
, in order to achieve this automatic mechanism, you can create a new run script and paste this script there:
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
This script will get the dSYM files and upload them to firebase servers so that you can see the crashes.
For multiple Schemes:
If your project has multiple schemes, you can simply create multiple such scripts by changing the path to the Google Plist file.
NOTE: You can also manually upload the dSYM
files using upload-symbols
tool [Check here], but it's always better to automate the process wherever we can.
EDIT: July 2020:
When you see missing dSYM files for the crash in the Crashlytics
dashboard, instead of getting the email for it, you can upload the dSYM
file for the build as soon as you submit it for Apple review or for testing via Test Flight.
Missing dSYM
is shown because when bitCode
is enabled, the App Store Connect
process the binary post uploading it and generates a new dSYM file.
You can find the dSYM file from the Activity
section in the App Store Connect
.
Best Answer
Don't know what is going on in the Firebase Crashlytics.
But after 1 Day/24 Hours the dSYMs processed and now they are showing (Optional) in the same build.
Update
I have again uploaded the dSYMs today, and it uploaded quickly. May be some issues are there is Firebase Crashlytics upload process!
https://github.com/firebase/firebase-ios-sdk/pull/5228