symbolicate crashlog using .symbols files instead of dSYMs

Hi,

Some crashes downloaded from TestFlight aren't symbolicated by Xcode and I don't know why, here's an example:

Although all uploaded builds contain debug symbols (Symbols directory with .symbols files) and other crashlogs in the same version are symbolicated just fine (also visible on the above SS).

I have access only to the .symbols files but not to the original dSYMs and I wonder how to perform symbolication manually. I tried pointing atos and symbolicatecrash utilities to respective .symbols file, but they are unable to work with it.

I'm sure it's possible as TestFlight symbolicates crashlogs using only .symbols files somehow. Could you give a hint?

You need the original dSYM file, and as part of general practice, you should always hold on to the Xcode archives that you upload to TestFlight or the App Store, for this reason. If we rewind a few steps, what are the steps in your build process that mean that you currently have the .symbols files, but not the original dSM file?

— Ed Ford,  DTS Engineer

In a threaded comment, @kambala said:

right now CI (GH Actions) produces iOS builds as well as the .symbols files (which are generated from dSYM using symbols command), but I upload builds manually from my Mac (this will be changed in the future to upload from CI directly).

I can of course also store dSYM as a build artifact, but wondered if it's possible to avoid that and store the minimal amount of artifacts on CI.

As I said above, you should be keeping the entire Xcode archive, which includes the original dSYM file for any build that you ship to your customers. There's a few things that underpin this advice, including the ability to symbolicate any crash report coming from the field on any version of your app in active use, but also the ability to export your app for different types of distribution, which can enable some further testing and debugging workflows.

I can't speak to the storage details of your particular CI system, but for Xcode Cloud, you are provided with the ability to download the Xcode archive, as the archives are not retained long term on Xcode Cloud. If there are storage limits or other factors with the system you are using, you'll have to explore how to embrace the above advice with the vendor of that system.

— Ed Ford,  DTS Engineer

symbolicate crashlog using .symbols files instead of dSYMs
 
 
Q