2

I submitted an iOS app which failed review due to a crash. I was given the crash report which unfortunately for me, was useless because I didn't keep the dSYM files and .app file that I apparently needed to decipher the crash report.

First question - I've built a new release and I've stored the dSYMs folder away for safe keeping, but I can't find the .app file that I apparently need. this link here suggested that I could change the .ipa file to a zip and then get the .app from unzipping it but there was nothing in the zipped folder once I changed its extension to .zip How to symbolicate crash/error logs from a Xamarin Forms iOS project?

Second question - How do I symbolicate on windows? I've seen guides like this one, but it only shows you how to do it on a MAC. The problem I have is that the project is entirely built on my windows machine which is networked to a MAC. https://jmillerdev.com/symbolicating-ios-crash-files-xamarin-ios/

David Andrew Thorpe
  • 838
  • 1
  • 9
  • 23
  • You could use app center https://learn.microsoft.com/en-us/appcenter/build/xamarin/ . – Lucas Zhang Jan 07 '21 at 13:15
  • I would prefer not to have to use a middle man process. Is there no way to make use of crash reports for my iOS app if it's built on a windows? – David Andrew Thorpe Jan 07 '21 at 13:50
  • @DavidAndrewThorpe When using dSYM (native symbols), you can `ssh` into the Mac and use the Xcode cmd line tools `dsymutil`/`atos`/... as they are specific to iOS/tvOS/MacOS/.... and require either you use the Xcode GUI or the cmd line tools. If you are dealing w/ managed code crashes than you can use `mono-symbolicate` on any platform along with the matching mSYM files. (If submitting bitcode based apps to Apple, then you would need to download the dSYMs from Apple as Apple compiles and re-signs your app before delivering it to an App Store user) – SushiHangover Jan 07 '21 at 17:50
  • Thanks for the reply @SushiHangover. I can remotely connect to the MAC that I am using to build the project, so I'm guessing that you're saying I can copy over the relevant files and symbolicate the crash report there. Well the code is written in C# which I believe is managed, so are you also saying I can use mono-symbolicate on my windows pc? – David Andrew Thorpe Jan 08 '21 at 11:16

1 Answers1

2

I was able to symbolicate the crash reports given by apple from the review by using this guide:

https://jmillerdev.com/symbolicating-ios-crash-files-xamarin-ios/ or How to symbolicate crash/error logs from a Xamarin Forms iOS project?

Basically what you need to do:

  1. Get the .dSYM and .app file from the archived release folder and put it on your MAC in a folder some where. Additionally, put the crash report in the same folder. (The crash report on App Store Connect will be a .txt file. Change it to .crash) Open up the terminal and change the current working directory to that folder I just mentioned. e.g. cd /Applications/crashFolder

  2. Run the following terminal commands

alias symbolicate="/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash -v"

export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

  1. Symbolicate your .crash file with this terminal command:

symbolicate -o "symbolicatedCrash1.txt" "crash1.crash" "MyApp.app"

David Andrew Thorpe
  • 838
  • 1
  • 9
  • 23