Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why aren't the crashlogs from Testflight symbolicating in Xcode?

I just started getting crash reports from Testflights for a pre-release app that I'm working on, but for whatever reason Xcode isn't properly symbolicating the logs.

This is what I'm seeing in Xcode

The build is available (was built, archived and uploaded on this computer in this version of Xcode), so what am I missing here? Why aren't these crash logs symbolicated?

like image 484
Christian A. Strømmen Avatar asked Feb 17 '17 23:02

Christian A. Strømmen


People also ask

How do you Symbolicate a crash log?

To symbolicate in Xcode, click the Device Logs button in the Devices and Simulators window, then drag and drop the crash report file into the list of device logs. Crash reports must have the . crash file extension. If a crash report doesn't have a file extension, or has a different file extension like .

What does it mean to Symbolicate?

Symbolication is the process of converting them into human readable, class/method names, file names, and line numbers.


1 Answers

Apparently this is a bug that started happening when Apple started accepting bitcode. Not all of the dSYMs are downloaded when you click on 'Download dSYMs…' in the Xcode organizer. Here's how I fixed it:

  1. Manually downloaded the dSYMs from the build page in iTunes Connect
  2. Right-clicked on the crash log in Xcode and opened it in Finder
  3. The xcrashpoint file you'll find is an archive, so right-click and show package contents
  4. Drill down to your .crash file(s)
  5. Copy the .crash file(s) to a different directory, for instance the desktop
  6. Copy the dSYMs folder you downloaded to the same directory
  7. Open Terminal, cd to the folder
  8. In terminal, set the developer dir path:

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

  1. Then symbolicate the files with (replace your paths and filenames here):

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash name_of_crashfile.crash name_of_downloaded_dSYMs_dir/ > output.log

And voila! You have your symbolicated crash log.

like image 114
Christian A. Strømmen Avatar answered Sep 28 '22 11:09

Christian A. Strømmen