Symbolicating iOS crash reports

‘symbolicatecrash’ is a tool that is available with Xcode.
Once you create a .crash file from the stacktrace available with each crash occurrence in fi.notes dashboard,
you can run symbolicatecrash against the file with the dSYM and it will generate the output file with symbolicated crash report.

Location of symbolicatecrash may vary depending on the xcode version, you need to add the path to your PATH environment variable.

Steps:

  1. Set the DEVELOPER_DIR environment variable to your Xcode installation path. e.g.
    export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
    
  2. Run the tool
    symbolicatecrash -d <path_to_dsym_file> -o <path_to_save_symbolicated_crash> <path_to_crash_report_from_finotes>
    

    Incase symbolicatecrash is not in your path. For xcode 8 or 9

    /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash -d <path_to_dsym_file> -o <path_to_save_symbolicated_crash> <path_to_crash_report_from_finotes>
    

Locating dSYM file

If you have Bitcode enabled in your application’s project settings,
the dSYM files will be generated by Apple when you submit a build. You can download them by opening the Xcode Organizer, selecting your app, then using “Download dSYMs” option.

If you’re not using Bitcode, you can find the dSYM files on the machine used to build the app.
First you should check that the dSYM gets generated during building,

  • You can check for the same in “Debug Information Format” option in build settings in Xcode.

The location of the generated dSYM varies depending on how the app is built:

  • If you have archived your app, you can explore the package contents of the xcarchive file and will find the dSYMs in there.
  • If the build was not archived, then it’s configured by the Derived Data settings in the Locations section of the Xcode preferences.
  • Within the Derived Data directory, location will have a suffix of .dSYM.

Once you have the general location, the exact file will be inside a Contents/Resources/DWARF subdirectory.