5

On Xcode 5 I am unable to symbolicate crash report. I am facing problem when we received a crash report generated on device combination (iPad model + iOS version) that never attached to my development Mac. Root cause is I don’t have all iOS build symbols for all iPads at “/Library/Developer/Xcode/iOS DeviceSupport”.

App was’t build on my machine, but I have .xcarchive in my Xcode. I can see symbolication of crash address related to my app only. Not for rest of apple framework’s addresses.

If you go to path “~/Library/Developer/Xcode/iOS DeviceSupport” on your Mac you can see folders with name like “7.0.2 (11A501)”, “7.0 (11A4449d)”, 6.1.3 (10B329)… which contains binaries from actual device (compiled for arm). When we connect any development iOS device to Mac, Xcode will copy those symbols from actual device to Mac (Only first time, or whenever iOS version get updated on development device). These are required to symbolicated crash symbols other than my app address. e.g. CoreFoundation 0x2ff85c27 0x2ff7e000 + 31783 (crash log does not symbolicate system libraries addresses)

In short if you received crash on xyz iOS version, that version's device's build directory should be at path "~/Library/Developer/Xcode/iOS DeviceSupport”. Or you should connect that version's iPad to your Mac so that Xcode can collect all data from device that needed for symbolication.

Suppose if you received a crash from device running 6.0 (10A403) iOS build, you should have "6.0 (10A403)" directory containing all data at "~/Library/Developer/Xcode/iOS DeviceSupport" to see full symbolication in Xcode of all address.

From where I can get this symbols e.g I want Xcode symbols for “iPhone OS 7.0.4 (11B554a), Hardware Model: iPad3,1”. Or how I can solve this problem.

5
  • what kinda symbol are you talking about?
    – Retro
    Dec 26, 2013 at 7:47
  • Was this app built on your Mac, using your Xcode? Dec 26, 2013 at 8:13
  • Please see updated post with more details about problem.
    – atrane
    Dec 26, 2013 at 8:56
  • Suppose you don't have iPad Air, and you received a crash from iPad Air from a customer. You can't symbolicate this crash as you don't have iPad Air framework,s debug symbols on your development machine. (at ~/Library/Developer/Xcode/iOS DeviceSupport/7.0.4 (11B554a) )
    – atrane
    Mar 5, 2014 at 11:30
  • @MichaelKessler App was built on my Mac, but it doesn't make work from Xcode 5 onwards. Please see my earlier comment for exact problem
    – atrane
    Mar 5, 2014 at 11:34

1 Answer 1

3

There are only two ways to solve this:

  1. You either need a device which is running the same iOS version and having a CPU with the same CPU architecture the crash report was happening on, and then plug into your computer so Xcode can import the symbols
  2. Or you need to get the symbols from another developer.

Usually the symbols are part of the latest Xcode release, but Apple doesn't always provide Xcode updates when an iOS version only contains bug-fixes but no API changes.

1
  • 1
    Thanks for answer, I agree with you by accepting it. Now a days the both mentioned points are not feasible for any dev as number of devices (iPad 2, 3 , 4, Air, iPhone.. ) and released iOS versions (7.0, 7.1, ..8.x) combination number is high to get all symbols. So started using hockeyapp.net service since last year for symbolication and it really awesome.
    – atrane
    Feb 10, 2015 at 11:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.