Xamarin iOS - Cannot create dSYM folder/files - ios

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?

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.

Xamarin - iPhone Distribution

I have published an application on the AppStore and now I want to make a new Release for this app.
In Visual Studio I have just two build configurations, Debug and Release. The other configurations, "Ad-Hoc" and "AppStore", are missing
If I select the Release build configuration the "Archive" option is disabled, I can select just "Show the IPA file on server", if I load the file using "Load Application" it will be loaded like a testing version.
What can I do to be able to publish it like a release application?
I don't believe that Archive menu item has been implemented in Visual Studio yet. You can do an archive from the command line. See:
https://developer.xamarin.com/guides/ios/troubleshooting/questions/create-xcarchive/
As of Xamarin 4.x, it is now possible to create a .xcarchive from Windows by setting the ArchiveOnBuild property to true. For example, using MSBuild on the command line:
msbuild /p:Configuration=Release /p:ServerAddress=10.211.55.2 /p:ServerUser=xamUser /p:Platform=iPhone /p:ArchiveOnBuild=true /t:"Build" MyProject.csproj
The .xcarchive will be placed in the $HOME/Library/Developer/Xcode/Archives directory on the Mac build host that both Xcode and Xamarin Studio search to display previously built archives.
See this Xamarin Forums post for some brief additional notes about the ArchiveOnBuild property. See the documentation about Xamarin.iOS command line builds on Windows for additional details about the ServerAddress and ServerUser properties.

.dSYM file missing in VSTS build

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-

No IPA output for Cordova build in Visual Studio

I'm developing a mobile app with Visual Studio Tools for Apache Cordova CTP 3.1 in VS 2013. I have configured everything according to the MSDN specifications here Install Tools to Build for iOS. I am able to build the app and run the remote simulator (as described here Run Your Apache Cordova App on iOS).
My problem is there is no output from the build back on the Windows machine where I have Visual Studio. More than that, there is no .ipa file created on the Mac either. I can find the build at /Users//remote-builds/builds/ but that's all. I can open the project in XCode for instance, but that's not what I want.
I want the final package file that I can install on test devices and eventually publish to the store. How do I get that?
Also my goal is to setup a TFS build definition so I can get a build each time I commit changes. I need to get that output file to the drop location of my build.
From within VS, you will have to choose "Remote Device" or "Local Device" as your debug target and then "build" to get an IPA back.
Also, refer to TFS build does not copy Cordova project output for instructions on how to setup TFS for CI workflow.

Resources