iphone: Where the .dSYM file is located in crash report - ios

According to this page here if you have proper application binary and .dSYM file then it is easy to symbolic them. But where are .dSYM and application binary files located?

Right Click on your archive -> Show in Finder -> Right click on file and click on Show package contents.
Here you will find your .dSYM file.

You can locate .dSYM and application binary file in archive.
Select Window -> Organizer
This will open up Organizer window containing last created Archive of project
Right click on Archive and select 'Show in Finder'
Select 'Show Package Content' for archive
Project.xcarchive contains dSYMs, Info.plist and Products
dSYMs folder contains dSYM file of your project.
Application folder in Project contains application binary of your project.

If you have archived your project, you can find the dSYM file as above.
If you have build you project for a real device, you can also find the dSYM file by the following way:
Go to Project Navigator, and find Products folder
Right click the app, and choose Show in Finder.
Make sure that the app is in black color, not red. Because red color means that you have not build the target for a real device.
You can find the dSYM file with the same name with your app, in the same folder.
Before all of these actions, make sure you have configured the xcode build settings right, as follows:
Generate Debug Symbols setting is enabled.
Debug Infomation Format are set to DWARF with dSYM File.
Hope this will help.

I found my .dsym file in /Users/<username>/Library/Developer/Xcode/DerivedData/<appname>/Build/Products/<appname>

If you removed archive from Xcode's Organizer like me, you can download dsym at the appstore. Select your app, select target version and go to Activity tab. Here you can download desired dsym.

In Xcode 5.1.1 you will find it under Xcode -> Preferences -> Locations -> DerivedData. Under DerivedData you will see a bunch of random directory names. Find the ones that starts with your project name. Then get the latest directory that was created for your project. Then under that directory go to Build/Products/<Your specific release>/*.app.dSYM.
You can even click on your end product under "Products" in project explorer and do a "Show in finder" to get there directly.

The .dSYM file should have been generated when you built your application. Look in your build product directory.

If you have the UUID you are looking for, you can search the files with the following command:
mdfind "com_apple_xcode_dsym_uuids == <UUID>"

It's simple. Please follow the steps here:
Open your project in Xcode, and select the project file in the Xcode Navigator.
Select your main build target from the Select a project or target dropdown.
Open the target's Build Settings tab.
Click All near the top of the tab.
Search for "debug information format".
Set Debug Information Format to DWARF with dSYM File.
Now go to Product > Archive > Your Build > right click on your build and click on Show in Finder. Now right click and go to Show Package Contents > dSYMs > Yourappname.app.dSYM_

If you haven't generated an archive and are trying to debug it on the device, dsym can be found at
/Library/Developer/Xcode/DerivedData/YOUR_APP/Build/Products/Debug-iphoneos

1.Select Window -> Organizer
2.Right click on Archive(your app name) and select 'Show in Finder'
3.Select 'Show Package Content' for archive
4.Right click on yourProject.xcarchive contains dSYMs, Info.plist and Products
5.select yourappname.app.dSYM

I just want to share something from my experience. Every time when I release a new version of my framework I save its dSYM in a separate folder. So, later I can find the relevant dSYM easily when I need it. It could be easily done by adding this line of code to the bash script in Build Settings (e.g. in this example I'm saving it to the desktop).
cp -r "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${FRAMEWORK_NAME}.framework.dSYM" "${HOME}/Desktop/${FRAMEWORK_NAME}.framework.dSYM"

Just one more way to find them all, UUID as a bonus
mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done

If you want, you can download them from App Store Connect.
It's under Testflight > Builds > Click your build version code > Build Metadata > Download dSYM

[dSYM]
.dSYM is generated near .app..dSYM is defined by Build location[About]. Usually it is a Derived Data folder.
For example F49088168M.app.dSYM is located
/Users/alex/Library/Developer/Xcode/DerivedData/F49088168M-gltfsnpvscodolcmxrvkbaebeppp/Build/Products/Debug-iphonesimulator/F49088168M.app.dSYM

I found build configuration should be Release to generate .dSYM file.

First check both of them are in the same configuration - DWARF with dSYM File
If it is okay, then navigate to the following path of your finder or from your terminal
/Library/Developer/Xcode/DerivedData/YOUR_APP/Build/Products/Debug-iphoneos
Find App Name and Open Package Content, you will find your .dsym file

Related

How do I get a compiled .app file from xcode?

When I click on the products folder in xcode and open the file in finder - I copy this to my text editor and it appears as folder and files. How can I get the compiled .app file?
Copied from products in xcode:
You can find the .app file here please check:
xCode window tab
Organizer
Right-click on the archive part, you can select which version you want to get the app file.
Show in finder
Right-click to (ProductName….). xcarchive file
Show package contents
Products
Applications

It looks like we are missing dSYMs to process crashes for the versions

I have enabled the project settings of the project and target and set Debug Information Format for both Debug and Release to DWARF with dSYM File.
I have enabled the Bitcode to NO.
But I am getting the error "we are missing dSYMs to process crashes for the versions below".
I have followed the below steps to generate dSYMs file.
1. Go to the Window Menu -> Organizer in Xcode.
2. Select the right version of build and click on the button "Download Debug Symbols" on the right panel
3. Right Click on right version of build and select show in Finder.
4. Select an .xcarchieve file then right click on that and click on Show Package contents
5. Then Go to *dSYMs folder* and select .dSYM file and compress that file.
6. Now Final Step is to upload compressed file on fabric.
My question is when i add the new DSYM file into the fabric, will it remove the existing crashes logs??
Yes, #Arun because every time you recompile your project after adding a line of code, the dSYM changes because the address of your lines of the code in resulting binary is not the same that's the reason remove the existing crashes logs. You can look below link https://docs.fabric.io/apple/crashlytics/missing-dsyms.html#upload-symbols-script
#Arun, Make sure you are uploading the correct dSYM (UUID of missing dSYM matches with uploading dSYM). If fabric do not process these dSYM then reach out to us at support#fabric.io and we can look into this further.

missing dSYM files for Instabug

I've inherited a project with several linked frameworks by virtue of gitmodules. For crash tracking we use Instabug. It keeps asking me for symbol files that I can't find. Note that I did manage to get some of the dSYM files from iTunes Connect.
An example of what it's asking me is:
F9E0A7B7-5989-3D98-A6ED-29F8D1B04A9E
Things I've tried that did not work:
1. can't find symbols for framework
2. using DWARF with dSYM Debug Information Format
3. built my project using both iOS10 and iOS11
Anyone else encounter this?
I'm using:
Xcode 9
Build target: iOS10
If you have enabled Bitcode, you can find the dSYMs inside your app's archive.
You can find the archive via the Xcode Organizer window, by selecting your app in the list on the left side of the window. Once you find the archive, right click on it and select Show in finder.
In the finder, right click on the archive file and select Show Package Contents. In there somewhere there should be a folder named dSYMs.

How to create .dsym file in Xcode 6.4

I know this should be a simple problem to solve, but I'm stumped.
Using Xcode 6.4, how can I create the .dsym file (this is for submission for Veracode scanning, if that matters).
All the instructions I can find are for Xcode <=5, and don't fully translate to Xcode 6.x
After archiving your app, in your derived data
~/Library/Developer/Xcode/DerivedData/
Go to your application
AppName-xxxxxxxxx/Build/Intermediates/ArchiveIntermediates/AppName/BuildProductsPath/Release-iphoneos
your .dsym file will be in this folder.
Finding the dSYM of a particular build through the Terminal can be quite cumbersome. Instead, use Xcode to do that. In the Window menu, choose Organiser. A list of your apps and archives appears. Select the one you are interested in. Right-click on it, and choose Show in Finder. You will end up in a directory with files called <AppName>-<ArchiveDate>.xcarchive, with the archive you selected in Xcode already selected in the Finder. Right-click again on it, and choose Show Package Contents. And you'll find here a dSYMs folder.

iOS app does not have a Build directory with .app in - for binary upload

I have an iOS app which I need to upload the binary of. From what I could find online, I have to ZIP the .app folder and upload that.
Problem is I cannot find my .app directory. In my other apps I do find it. But in this specific one, there is no Build directory whatsoever.
Must I set it in my Target or somewhere for it to create that folder?
(This is in Xcode 4.2)
Does the app appear in the Products folder for your project (should be at the bottom of the project file/folder list in the left column)? If it does, right click on the .app file and choose the Open in Finder option. Zip the Application file and you should be fine.
If this is an app that you can run on a device, choose Build > Archive. The Organizer window will open, and now you can select and "share" the archive.
Otherwise, open the Preferences window and, under Locations, click the arrow next to the Derived Data pathname. Your build folder is usually inside the derived data folder for this project.

Resources