5
votes

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?

4
From firebase.google.com/docs/crashlytics/get-started?platform=ios: $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH) is what you need to add into your Build Phase's Input Fields. Does this help? - Kevin Kokomani

4 Answers

9
votes

28/May/2020 enter image description here 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'

  1. 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)

enter image description here

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 \{\}

enter image description here

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:

  1. Download the .dSYMs from iTunes Connect: enter image description here
  2. Extract the "appDsyms" that you download it from your iTunes Connect.
  3. Run the script from your terminal to upload dSYMs

/path-to-your-project/Pods/FirebaseCrashlytics/upload-symbols -gsp /path-to-GoogleService-Info.plist/GoogleService-Info.plist -p ios /path-to-appDsyms-folder/appDsyms

enter image description here

5
votes

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 \{\}

enter image description here

3
votes

Swift 5 How to upload dSYMs Folder dSYMs Folder upload Easy way in 3 steps

Step 1 Download from You app store account enter image description here

Step 2 Enter Path enter image description here

Step 3 When Upload Succesfull

enter image description here

2
votes

For those who didn't find Activity in AppStoreConnect.

Download the .dSYMs file manually from AppStoreConnect:

  • Login to AppStoreConnect
  • Select My Apps and then Select your App enter image description here
  • Then Click on Testflight after that Build Number enter image description here
  • Then Click on Build Metadata and you see the bottom right corner click on Download dSYMsenter image description here