'Firebase Upload missing required dSYMs Not Working
Currently, I am facing issues to upload dSYMs through the new uploader script.
/path/to/Fabric/upload-symbols -gsp /path/to/GoogleService-Info.plist -p <platform> /path/to/dSYMs
I am getting success response by uploading the dSYMs
But no change on firebase console.
I have already checked the following thread:
https://github.com/firebase/firebase-ios-sdk/issues/5327
Please let me know if anyone having a solution...
Solution 1:[1]
If this is a migrated app from Fabric, then you need to follow these directions,
"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."
If this is not a migrated app, and you're seeing that the correct missing UUID is being uploaded, but you're still getting the missing dSYM error, then you need to write into Firebase Support so they can get your debug logs and check your session ID.
Solution 2:[2]
I had the same problem. What I found:
- You should double-check if you can find this specific DSYM in your XCode archive. For this, open XCode->Organizer->Show In Finder-> DSYMs in bundle: try to find specific DSYM by ID from the dSYMS error Firebase panel. If any you can find with the same ID, you have to upload manually.
- On my practice, the delay is usually several mins, max 24 hours.
- Sometimes, I couldn’t find the DSYM IDs listed on Firebase in XCode archive or from AppStore downloads. What I found, that Firebase catches all distributed versions of the app. That’s why you cannot find them on AppStore if it is not on TestFlight yet. You probably can find them in your alpha archives.
However, this is my guessing. I was wondering if anyone from Firebase guys can give more info on this.
Solution 3:[3]
install crashlytics via POD 'Firebase/Crashlytics'. download DSYMS from app store. located here --> myapps --> select your app --> testflight --> select latest build --> Build Metadata --> Download dSYM.
now run this script using Terminal directly
YOUR PROJECT POD FOLDER PATH /FirebaseCrashlytics/upload-symbols -gsp /YOUR PROJECT/GoogleService-Info.plist -p ios /Users/username/Downloads/appDsyms
more in detail step.
Open terminal, drag and drop 3 files on terminal on this order:
A--> drag an drop: "upload-symbols" which can be found in /project/Pods/FirebaseCrashlytics/upload-symbols
B--> write " -gsp "
C--> drag an drop: "GoogleService-Info.plist" which can be found in /project/GoogleService-Info.plist
D--> write " -p ios "
E--> drag an drop: "appDsyms" folder (unarchived, zip file might not work!) which usually is in Download folder /Users/username/Downloads/appDsyms
F--> Press Enter
In terminal the complete command should include -gsp and -p ios, full command looks like this: A -gsp C -p ios E
/project/Pods/FirebaseCrashlytics/upload-symbols -gsp /project/GoogleService-Info.plist -p ios /Users/username/Downloads/appDsyms
it might take some time to reflact on google firebase 24 hours.
Solution 4:[4]
Currently, it is taking (around) 24 hr to process the dSYMs (specially, if dSYM size is large), but it should improve soon.
Most Impacted Developers:
- Fabric legacy only, not migrated customers - should no see impact
- Fabric legacy SDK, migrated to Firebase - impacted
- Fabric legacy SDK, onboarded via Firebase - impacted
- Firebase SDK (currently in beta) - no impact
It is suspected that the dsym downloaded from Apple has the incorrect bundle id. Apple is setting com.apple.xcode.dsym. (e.g. com.apple.xcode.dsym.Bingo Blast).
1- As a temporary workaround, if the developer after downloading the dsym from Apple, converted all occurrences of the incorrect bundle string with the correct bundle id (e.g. com.redhotlabs.bingo), this should allow the dsym to be ingested correctly.
See an example shell script that developers could use replacing the and with the appropriate values.
export BUNDLE_ID='' export DSYM_PATH='' sed -i '' -e "s/>com.apple.xcode.dsym.*\$BUNDLE_ID\
2- Try not test-crash the app or release a potentially crashy app to users for at least 10 minutes after upload-symbols has completed and the mapping file is uploaded.
3- I would recommend to upgrade to Firebase SDK (currently in beta) to avoid this issue all to gather.
Solution 5:[5]
Debug Symbol files (dSYM) files are required by Firebase Crashlytics to give the app developers a human-readable crash report on its console. These dSYM files are uploaded and processed automatically by the firebase. But in some cases, due to the settings in the Xcode Project, this isn’t possible and uploading fails.
Go to XCode and check:
- We have to open and select the project file in XCode navigation.
- Select our main project build target.
- Select the
Build Settings
tab, and then selectALL
option. - Then set
Debug Information Format
toDWARF with dSYM File
. - Finally, rebuild the app.
Upload your dSYMs
As a back-up, Crashlytics includes an upload-symbols script that you can call from anywhere in your build process to manually upload your dSYMs. The script provides more information about the upload process and more robust error messaging (for usage notes and additional instructions, run upload-symbols without any parameters).
To run the upload-symbols script, use one of the following options:
Include the following line in your build process:
find dSYM_directory -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p platform \{\}
Run the script directly from your terminal:
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Oleg Kodysh |
Solution 2 | coconata |
Solution 3 | NIranjan Gajipara |
Solution 4 | |
Solution 5 | Paresh Mangukiya |