We've moved from fabric.io to Firebase and now the dsym files are always missing. This manual tries to help but I don't really understand it:
Manual: https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?authuser=0&platform=ios
So which line do I exactly need to implement in the build phases so it does it automatic? This one? find dSYM_directory -name "*.dSYM" | xargs -I {} $PODS_ROOT/Fabric/upload-symbols -gsp /path/to/GoogleService-Info.plist -p platform {}
But then my other questions: How can I find my dsym_directory? And I mean this is different for every build isn't it? And it also says:
Important: If you're working with an app that you previously linked from Fabric to Firebase Crashlytics, pass in your Fabric API Key to run the upload symbols script. That is, in the following options to run the script, use -a fabric-api-key instead of -gsp path/to/GoogleService-Info.plist.
So does this mean I can use the variable fabric-api-key or do I need to replace it exactly with my key? Can someone just help me and give the exact line I have to insert into the build phases?
To manually upload your dSYMs, you can use the console-based "Drag and Drop" option to upload a zip archive containing your dSYM files (go to Firebase console > Crashlytics > dSYMs tab).
If you can find the missing dSYM there, you can upload it again to fix the issue. Sometime, Apple Connect returns some wrong UUIDs, it means the user crashes on a binary has a missing UUID but Firebase Crashlytics received the dSYM of the wrong UUID so they cannot link together and cause the issue.
Find dSYMs on a local machine app lives (by default, the Products the directory is located in Derived Data ). If your app is released to production, you can also look for its dSYM in the . xcarchive directory on disk: In Xcode, open the Organizer window and select your app from the list.
28/May/2020 For me i work on this steps until dsym problem solved with me.
In the first Add Firebase Crashlytics to your app:
Open the podfile you created for your Firebase project and add the FirebaseCrashlytics pod
pod 'Firebase/Crashlytics'
pod 'Firebase/Analytics'
Then apply : pod install'
Create tow scripts as shown in image :
In the first script write the next command:
"${PODS_ROOT}/FirebaseCrashlytics/run"
and in inpute files add the tow input files:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
In the second script write the next command:
"find ${DWARF_DSYM_FOLDER_PATH}" -name "*.dSYM" | xargs -I \{\} "$PODS_ROOT/Fabric/upload-symbols" -gsp "$PODS_ROOT/../GoogleService-Info.plist" -p ios \{\}
if dSYM didn't work with you when you need to upload dSYM files by the terminal for first time at least.
The following steps explain how to upload a dSYM files to Firebase:
/path-to-your-project/Pods/FirebaseCrashlytics/upload-symbols -gsp /path-to-GoogleService-Info.plist/GoogleService-Info.plist -p ios /path-to-appDsyms-folder/appDsyms
I used find ${DWARF_DSYM_FOLDER_PATH}" -name "*.dSYM" before the script to find the dsyms.
"find ${DWARF_DSYM_FOLDER_PATH}" -name "*.dSYM" | xargs -I \{\} "$PODS_ROOT/Fabric/upload-symbols" -gsp "$PODS_ROOT/../GoogleService-Info.plist" -p ios \{\}
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