.dSYM file missing in VSTS build - ios

I am building the Xamarin ios app on VSTS. I see that its generating .dSYM file during the build time but when I check the artifact folder, I could see ipa file but not dSYM file.
I need dSYM file to run Xamarin Test Cloud.
Am I looking at wrong place or do I need to do something different to get .dSYM file ?

When building iOS apps from visual studio, the .dSYM file that can be used to symbolicate crash reports ends up on the build host at path:
/Users/<username>/Library/Caches/Xamarin/mtbs/builds/<appname>/<guid>/bin/iPhone/<configuration>
https://kb.xamarin.com/customer/portal/articles/1969488--where-can-i-find-the-dsym-file-to-symbolicate-ios-crash-logs-

Related

Crashlytics automatic upload of dsym files

I have the following build setup in XCode:
I need to understand if this build script will be running every-time I build and upload a new dsym file to Crashlytics server? Or it will run only when there are version or code changes I make?
The second line "upload-symbols" is not necessary.
It uploads every time the dsym changes
Make sure that in your target's build settings, Debug information Format is se to DWARF with dSYM for both debug and release

Missing dSYM files for build in fabric. Gitlab uploads builds to Crashlytics

Simply we have built the app and uploaded to Crashlytics. In case when issue arise we try to check what went wrong but we can't because:
How can we upload missing dsym files? Where can we get it from?
OR
What should we change in project to upload dsyms automatically.
How can we upload missing dsym files? Where can we get it from?
dSYMs files for each archive are found locally on your build machine at the directory /Library/Developer/Xcode/Archives
Right click on your xcarchive file then Show Package Content, you will find your dSYMs directory there, you will have to zip them and upload them to Fabric manually.
You can also get the dSYMs for a specific build from your AppStoreConnect activity page.
What should we change in project to upload dsyms automatically.
By default Fabric dSYMs are uploaded automatically after the archive through the Fabric /run script added to Build Phases in the beginning of Fabric integration.
Though it might fail sometimes for different reasons. Like having the Bitcode enabled
You can also use different tools for build automation like Fastlane which provides an upload dSYMs command.

How to include dSYM file of an embedded framework to an app archive

My app uses some 3rd party framework. I have a framework itself and dSYM file for it.
When archiving my app, the archive does not contain the dSYM file for this framework. It contains other dSYM files for ther frameworks that're included via Cocoa Pods and built alongside with my app.
I'm using HockeyApp for app distribution, so I'm uploading my app IPA and dSYMs archive to it. But because of lacking of this exact dSYM for this exact framework, I can't see all stack trace in crash reports.
So The question:
How can I kindly ask Xcode to copy dSYM file for the framework? Should I do this manually via script during archiving?
If you have pre-built frameworks you need to add the dSYM files generated at build time to your Xcode project and add a new "Copy Files Phase" to your target's Build phases in order to end up with them in the Xcode archive.
An example of adding the dSYM files for the Realm framework would look like the screenshot below.
Make sure you select the "Products Directory" destination and the "Copy only when installing" option.
Now, when archiving your target the dSYMS will appear in the right directory.

Xamarin iOS - Cannot create dSYM folder/files

I'm trying to symbolicate crash logs for a Xamarin.Ios app. But I cannot get the dSYM files.
My Environment
Visual Studio for Mac 7.4.3. Build 10
Xamarin.Ios Version: 11.9.1.24 (Visual Studio Community)
What I've tried
In Xamarin.Ios project > Compiler, set Debug Information to Full and Symbols Only. Built DEBUG/RELEASE on simulator and device, it did not create a dSYM folder in the designated debug or release bin path.
In Xamarin.Ios project > Ios Debug, enabled Debugging. Built DEBUG/RELEASE on simulator and device, it did not create a dSYM folder in the designated debug or release bin path.
With steps 1 and 2 still enabled, built app in VSTS. Log showed
CompileAppManifest: Directory "bin/iPhone/Release/My.app.dSYM" doesn't exist. Skipping.
Updated HockeyApp deployment task to publish dSYM along with ipa, but only ipa was published.
Created Copy To and Publish Artifact tasks in VSTS, but dSYM is not created so it is not copied.
UPDATE 20180427
Returned to VSTS, tweaked the Copy To task to use a different Source Folder /Users/vso######/vsts-agent/_work/2/s/iOS/bin/iPhone/Release and the Contents are **/*.ipa and **/*.dSYM/**. This worked.
Left the Publish Artifact task as is but updated the HockeyApp task Symbols File Path value to $(build.artifactstagingdirectory)/**/*.dSYM/**. This publishes a zip file to HockeyApp in the Symbols section. However, I'm not sure this is correct. The contents of the zip show:
Contents\
---------Info.plist
---------Resources\
-------------------------DWARF\
-------------------------------------MyApp.iOS
Research
dSYM file missing in Xamarin iOS app in VSTS #1983
Xamarin Insights App Settings
VSTS Copy and Build Artifacts
VSTS Drop Folder
Any recommendations?

Xcode does not generate dSYM file

In my iOS Project, I have set the Generate Debug Symbols to be Yes, but the .dYSM file is not created in DerivedData folder. I am running this application on my iPhone. Because I need it to map it to do the time profiler, because time profiler shows all the symbols in hex address. That has to be symbolicated to identify the time taking tasks.
Thanks in advance.
I went through this apple doc. This helped me. This says to set the Debug Information format to be DWARF AND DSYM in target build settings.
This apple doc says the following:
By default, Xcode saves symbols as dSYM bundles in the Build folder.
Xcode creates the default dSYM bundle path by adding the extension
.dSYM to the executable name. To generate dSYM bundles in Xcode, go to
the Build Settings area for your project, and select Debug Information
Format > Dwarf with dSYM File in the Build Options section

Resources