Where to get iOS system symbols for other iOS versions

后端 未结 3 1319
温柔的废话
温柔的废话 2021-02-07 00:16

Please note: I am asking for a place I can download the symbols, or for a conclusive answer that such a site is prohibited by Apple. The \"duplicate\" question is simil

相关标签:
3条回答
  • 2021-02-07 01:00

    I've collected most of system symbols from real devices (from secondhand moblie market), iOS firewares and Xcode's iOS SDKs.

    You can download the version you need here:

    iOS system symbol file(7.0-9.2)

    iOS system symbol file(9.2.1-10.2)

    Read iOS-System-Symbols for more details.If I get new symbol file, i will add it into the google drive sharing folder.You can follow the latest update from the github repository above.

    How to use

    1. When you need to symbolicate a crash report, check the Code Type and OS Version section. Such as:

    Code Type: ARM-64

    OS Version: iOS 10.2 (14C82)

    That means you need arm64version symbols of 10.2 (14C82)system.

    1. Find the package in my sharing folder and extract it to ~/Library/Developer/Xcode/iOS DeviceSupport. (Check the file's name and path, it should be~/Library/Developer/Xcode/iOS DeviceSupport/10.2 (14C82)/Symbols).

    2. Use Xcode'ssymbolicatecrash tool to symbolicate your crash report. This tool will search system symbols in theiOS DeviceSupportpath automatically.

    Symbols list

    There are 50 versions from 7.0 (11A465) to 10.2 (14C92).(if you count OS version with CPU architecture, it's 85. I've got 76 of them).

    Here is the list of symbols from 7.0to10.2, with their CPU architecture version I've got.

    |    OS Version     | collected CPU version |
    |-------------------|---------------------- |
    |   10.2 (14C92)    |   arm64,armv7s        |
    |   10.1.1 (14B150) |   arm64,armv7s        |
    |   10.1.1 (14B100) |   arm64,armv7s        |
    |   10.1 (14B72c)   |   arm64,armv7s        |
    |   10.1 (14B72)    |   arm64,armv7s        |
    |   10.0.3 (14A551) |   arm64,armv7s        |
    |   10.0.2 (14A456) |   arm64,armv7s        |
    |   10.0.1 (14A403) |   arm64,armv7s        |
    |   10.0(14A346)    |   none                |
    |   9.3.5 (13G36)   |   arm64,armv7s,armv7  |
    |   9.3.4 (13G35)   |   arm64,armv7s,armv7  |
    |   9.3.3 (13G34)   |   arm64,armv7s,armv7  |
    |   9.3.2(13F72)    |   none                |
    |   9.3.2 (13F69)   |   arm64,armv7s,armv7  |
    |   9.3.1 (13E238)  |   arm64,armv7s,armv7  |
    |   9.3(13E237)     |   armv7s,armv7        |
    |   9.3(13E236)     |   armv7               |
    |   9.3(13E234)     |   none                |
    |   9.3 (13E233)    |   arm64,armv7s,armv7  |
    |   9.2.1 (13D20)   |   arm64,armv7s        |
    |   9.2.1 (13D15)   |   arm64,armv7s,armv7  |
    |   9.2 (13C75)     |   arm64,armv7s,armv7  |
    |   9.1 (13B143)    |   arm64,armv7s,armv7  |
    |   9.0.2(13A452)   |   arm64,armv7s,armv7  |
    |   9.0.1(13A404)   |   arm64,armv7s,armv7  |
    |   9.0 (13A344)    |   arm64,armv7s,armv7  |
    |   8.4.1 (12H321)  |   arm64,armv7s,armv7  |
    |   8.4 (12H143)    |   arm64,armv7s,armv7  |
    |   8.3 (12F70)     |   arm64,armv7s,armv7  |
    |   8.3 (12F69)     |   arm64,armv7s,armv7  |
    |   8.2 (12D508)    |   arm64,armv7s,armv7  |
    |   8.1.3 (12B466)  |   arm64,armv7s,armv7  |
    |   8.1.2 (12B440)  |   arm64,armv7s,armv7  |
    |   8.1.1 (12B436)  |   arm64,armv7s        |
    |   8.1.1 (12B435)  |   armv7s,armv7        |
    |   8.1 (12B411)    |   arm64,armv7s,armv7  |
    |   8.1 (12B410)    |   arm64,armv7s,armv7  |
    |   8.0.2 (12A405)  |   arm64,armv7s,armv7  |
    |   8.0.1(12A402)   |   armv7s,armv7        |
    |   8.0 (12A366)    |   arm64,armv7s        |
    |   8.0 (12A365)    |   arm64,armv7s,armv7  |
    |   7.1.2 (11D257)  |   armv7s,armv7        |
    |   7.1.1 (11D201)  |   arm64,armv7s,armv7  |
    |   7.1 (11D167)    |   arm64,armv7s,armv7  |
    |   7.0.6 (11B651)  |   arm64,armv7s,armv7  |
    |   7.0.4 (11B554a) |   arm64,armv7s,armv7  |
    |   7.0.3 (11B511)  |   arm64,armv7s,armv7  |
    |   7.0.2(11A501)   |   armv7s,armv7        |
    |   7.0.1(11A470a)  |   armv7s              |
    |   7.0(11A465)     |   arm64,armv7s,armv7  |
    

    Missing symbols

    I still miss these CPU's symbols, if you have any of them, please share:

    | missed OS Version |   missed CPU Version  |   description
    |-------------------|-----------------------|-----------------
    |  10.0(14A346)     |  arm64                |  iPhone 7 and 7 Plus-only, default OS when leave factory 
    |  9.3.2(13F72)     |  arm64                |  iPad Pro 9.7-inch-only, fix bricked problem
    |  9.3(13E237)      |  arm64                |  5s, iPad Air and iPad mini2 only, fix activation problem
    |  9.3(13E234)      |  arm64                |  6s, 6s Plus and iPad Pro 9.7-inch only
    |  8.1.1 (12B435)   |  arm64                |  5s, iPad Air and iPad mini2 only
    |  8.0.1(12A402)    |  arm64                |  `8.0.1`was pulled soon after released.Because it has serious bugs 
    |  7.1.2 (11D257)   |  arm64                |    
    |  7.0.2(11A501)    |  arm64                |  
    |  7.0.1(11A470a)   |  arm64                |  5s only  
    

    How to check which CPU version the symbol file contains

    If you already have a system symbol file, and want to know which CPU version it contains, check files in the path like10.2 (14C92)/Symbols/System/Library/Caches/com.apple.dyld. There should be file nameddyld_shared_cache_arm64,dyld_shared_cache_armv7s,dyld_shared_cache_armv7.

    If you miss one, that means you don't have that CPU version's symbols.

    0 讨论(0)
  • 2021-02-07 01:00

    I know only long hard way: download ipsw file and extract symbols from it with hackers tools. Maybe anyone can find way easier?

    upd: I have found solution simpler.

    I tried to symbolify iOS 7.0.1 symbols, but unsucessfull (same reason as you have with iOS 6.1.4)

    Next steps help me:

    1. I edited .crash file and change iOS 7.0.1 to iOS 7.0
    2. backup and delete everything from ~/Library/Developer/Xcode/iOS DeviceSupport
    3. run symbolicatecrash from Xcode5 (which contains iOS 7 symbols)

    Ignoring some а these steps do unsuccesfull results for me.

    I hope it helps you.

    0 讨论(0)
  • 2021-02-07 01:09

    You should be able to symlink the 6.1.something SDK that you have to 6.1.4, similar to my answer here (https://stackoverflow.com/a/19383685/473067). In this case, of course, the symlink should be in Xcode5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs.

    We routinely symbolicate crashes using SDK versions that are close enough, but we use our own symbolification script instead of the Xcode one, and the symbols don't always match, so YMMV.

    0 讨论(0)
提交回复
热议问题