I have uploaded dSYMs to Firebase with upload-symbols command which is downloaded from AppStore Connect. Most of the dSYMs is uploaded successfully but it shows warnings for few dSYMs. Bitcode is enabled in my app & using 'DWARF with dSYM File' for 'Debug information format' in build settings.
I am getting the following warning for a few dSYMs:
warning: Crashlytics found a dSYM with hidden symbols at path: /Users/name/Downloads/appDsyms/c362ba63-3100-3a48-9040-72af1fe519e3.dSYM. This will result in hidden stack frames for that library in Crashlytics. This can occur if you have bitcode enabled in your app. If you have chosen to upload the symbols for your app to Apple, make sure to download the symbolicated dSYMs from Apple through Xcode or iTunes Connect. If you have chosen NOT to upload symbols to Apple, you can deobfuscate your dSYMs manually with the BCSymbolMaps found within the archive of your application using the following command: dsymutil --symbol-map <BCSymbolFile> <dSYMFileWithHiddenSymbols>.This will perform an in-place deobfuscation of the provided dSYM.To silence this warning, pass the --skip-dsym-validation flag to upload-symbols / run.
Used command for uploading dSYMs:
/ProjectPath/Pods/FirebaseCrashlytics/upload-symbols -gsp /ProjectPath/GoogleService-Info.plist -p ios /DsymsPath/appDsyms
Firebase console is showing dSYM required:
Firebase console is showing dSYM required
In archive file you will find folder "BCSymbolMaps", copy it anywhere
Copy your c362ba63-3100-3a48-9040-72af1fe519e3.dSYM to c362ba63-3100-3a48-9040-72af1fe519e3.zip.
In this zip file you will find file \Content\Resources\c362ba63-3100-3a48-9040-72af1fe519e3.plist
In this file you need key "DBGOriginalUUID". This key is file name for needed from BCSymbolMaps folder. (Let it be XXXXXXX. So you need find file XXXXXXX.bcsymbolmap in folder BCSymbolMaps which we got from xcarchive.)
Now we have everything for decoding our dSYM file. Just run next
dsymutil --symbol-map /Users/name/Downloads/appDsyms/XXXXXXX.bcsymbolmap /Users/name/Downloads/appDsyms/c362ba63-3100-3a48-9040-72af1fe519e3.dSYM
Now you can repeat sending dSYMs to server.
I have tried uploading dSYMS file , it is showing "Your uploaded files will be processed shortly. Check the dashboard in a few minutes to see crashes that were previously missing." but but still it is asking me to upload even after 2 days. My bitcode is disable.I got this dSYM files using Xcode's app archive.
When I am trying to download it from organizer it is showing "No dSYMs were found for Version 1.8 Build 9.
Try using the mdfind "com_apple_xcode_dsym_uuids == <UUID>" command in your terminal to find the missing dSYM on your Mac and then upload it to crashlytics.
To check the UUID of a dSYM file, using the following command dwarfdump -u <pathTodSYMFile.dsym>
We are adding pod file for fabric and Crashlytics in our project. When I tried to place a crash in my Crashlytics. I am getting this “Missing dSYMs in 1 version in the last 24 hrs ”error. But my previous version of my app getting an error in the crash dashboard. my latest build not getting an error in the dashboard. We have tried to upload dSYMs file in window-> organiser - > show in finder - > show package content- > dSYMs file. we zip it and upload it fabric organization in fabric.io. But crashes are not available. How to fix this issue? I want to place a crash for development scheme now?
I had the same issue. Go to the Build Settings -> Debug Information Format -> and select DWARF with dsym file for both Debug and Release.
I hope that helps.
Crashlytics "help article" wasn't helpful.
https://docs.fabric.io/apple/crashlytics/missing-dsyms.html
Struggling to kickstart crashlytics for my project.
What have been done:
test 'crash' button with app crashing code implemented.
built, crashed.
crashlytics detected the app, but shows "missing dsyms"
in xcode, targets-> MyApp -> Build Settings -> Debug Info Format -> Dwarf with dsym file.
Product -> Archive
right click on archive -> show in finder -> show package contents, dSYMs folder -> along with frameworks dsyms located MyApp.app.dsym file. Archived it with terminal zip -r SymbolFiles.zip MyApp.app.dSYM("compress .." simply didn't work)
uploaded that zip to crashlytics. Said "return in couple minutes". Nothing happened, "missing dsyms" persists.
Article suggests to search for missing UUID while running dwarfdump -u <PathToYourAppsDsym>
in which case, i get an error: parse error near\n'`
The issue got resolved.
The latest Xcode(8.3.2) now has 4 columns for Debug Info:
It worked after double checking everywhere "Dwarf with dSYM".
Somehow, I missed the step that after crashing the app, I had to again relaunch it from the device, not simulator.
#Evgeny is right. Setting the Debug Information Format to DWARF with dSYM File will be right.
I want to extract the dSYM file from but when I click on "Download dSYMs..." in the Organizer I get the follow message: "There are no dSYMs available for download.".
I'm using Xcode 7.2 with a workspace generated by Cocoapods 0.39.
How can I get them?
NON-BITCODE
Here's a GIF on how to get DSYMS, compress and upload to crashlytics/fabric
Press Window > Organizer
Right-click on your app> Show in Finder
Right-click on first .xcarchive file > Show package contents
BITCODE ENABLED
You'll need to download dsyms from App Store Connect. The easiest would be to use fastlane
lane :refresh_dsyms do
download_dsyms # Download dSYM files from App Store Connect
upload_symbols_to_crashlytics # Optional for uploading to Crashlytics
end
I think #Jordan is correct--it seems that iTunes Connect is recompiling apps with bitcode so that the UUID changes, and the dSYM inside the .xcarchive can't actually be used to symbolicate the app (this appears to be a new development).
You can download the correct dSYM from iTunes Connect. Login, go to My Apps, select your app, then tap on the Activity tab at the top. Tap on the relevant build, and, assuming the app was submitted with symbols in the first place, you should see the option to "Download dSYM."
The file you get is called dSYMs (without an extension) but it is in fact a zip file. Add the .zip extension, unzip, and you'll find your dSYM(s) inside.
(I needed to do this this week since Crashlytics was complaining about a missing dSYM.)
Actually you can't download dSYM file from iTunesConnect now. There is another way to get that file.
Xcode -> Window -> Organizer -> Show xcarchive file in Finder -> Right Click Your xcarchive file -> Select "Show Package Contents"
You can see your dSYM file now.
bitcode must be enabled
if you want to get your dSYM from iTunesConnect
Build Settings > Build Options > Enable Bitcode > YES
Select device "Generic iOS Device" (or anything that works)
Archive
When exporting from archive
CHECK "include app symbols for your application to receive symbolicated crash logs from Apple"
CHECK "include bitcode"
Upload using Application Loader
Once your app has been successfully uploaded to iTunesConnect you can go to iTunesConnect.com > MyApps > [YOUR APP] > Activity > All Builds > [YOUR BUILD] > General Information > Includes Symbols > Download dSYM
#xcode8.2.1 #osx10.12.6
I've found a solution from https://twittercommunity.com/t/not-matching-uuid-bitcode/61000/2
"Crashlytics was reporting missing dSYMs with UUID looking like this: 83889b11dedd363c8e5ee56233bcc90c.
As I said, I followed the guide7 but I couldn't find that UUID. So I went in the iTunesConnect and I did the following:
Select the app
Choose the Activity tab on top
Select the build version Crashlytics is complaining about
Click the Download dSYM blue link
The downloaded file is called dSYM has no extension but it is actually a zip. So I added the zip extension and unzipped it. Inside the unzipped folder I found many dSYM files, one on which has called 83889B11-DEDD-363C-8E5E-E56233BCC90C.dSYM which matched the UUID Crashlytics was reporting as missing (even if formatted in a different way). Note also that this file is not inside the xcarchive.
Hope it can help!"
in my case, it works like charms
In my case, I could not find a dSYM file of my app in the Archives folder. If you face this, go to your Project Build Settings > Build Options > Debug Information Format and make sure it is set to DWARF with dSYM file
If dSYMs folder in package contents is empty (Ted's answer), try to check:
Build Settings > Build Options > Enable Bitcode is set to YES (Jacksonkr's answer)
Build Settings > Build Options > Debug Information Format is set to DWARF with dSYM file (daisura99's answer)
Please check them both.
Then in show package contents -> dSYMs folder, this time, you should find something.
In my case, it worked.
Form latest updates you no need to upload dSYM files manually, automatic upload is done with below process.
Step-1: Goto Target-> Build Settings -> Search for "debug information format". Set Debug Information Format to DWARF with dSYM File for all your build types.
Step-2: Goto Build Phases -> Expand Run Script and add script & input files
In Script:
"${PODS_ROOT}/FirebaseCrashlytics/run"
In input files:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
Example Screenshot:
Step-3: Finally add one more script to upload dSYM files
${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -gsp
${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
Here, in the 2nd line of the script ${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios update with your project path means your app schema name
If you got error while running the app follow my answer Xcode 10.2.1 Command PhaseScriptExecution failed with a nonzero exit code
Error:
Command PhaseScriptExecution failed with a nonzero exit code