What's the best way to get symbol files for system libraries, for symbolicating MetricKit call stack trees?

I wrote a python script MXSymbolicate to symbolicate crash reports produced by MetricKit. To symbolicate a given frame, it needs the symbol file for that frame's library. For system libraries, my system only has the requisite files on disk if I've plugged an iOS device of that type at that iOS version into my computer at some point (I assume these symbol files from the device are generated by Xcode when it's preparing to debug on a new device). All these different versions of the symbol files take up a fair bit of space on my machine over time, and it means the symbolication process isn't very portable.

Is there a better way to get ahold of symbol files for system libraries? Or is the expectation that we (as third party developers) only symbolicate the frames from our own apps?

Answered by Developer Tools Engineer in 892617022

There is no supported way to retrieve symbol information unless you have the symbol files available locally. Please let us know about your request using Feedback Assistant (and share the ID number here) so that we can prioritize improvements.

Jed

There is no supported way to retrieve symbol information unless you have the symbol files available locally. Please let us know about your request using Feedback Assistant (and share the ID number here) so that we can prioritize improvements.

Jed

FYI to anyone reading this - if you get a new Mac and set it up from your old one with Migration Assistant, symbol files will not transfer. At least as of current support - I migrated from a Mac on 26.x to 27.x and the contents of ~/Library/Developer/Xcode/iOS DeviceSupport did not transfer.

Good point. Thanks for sharing.

And I have my own tip to share on this front (-: For watchOS, you can actually fetch symbols from Apple. See Acquiring operating system symbol information for info on how to do this.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

What's the best way to get symbol files for system libraries, for symbolicating MetricKit call stack trees?
 
 
Q