首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从何处获取其他iOS版本的iOS系统符号

从何处获取其他iOS版本的iOS系统符号
EN

Stack Overflow用户
提问于 2013-08-29 07:46:39
回答 3查看 7.4K关注 0票数 24

请注意:我要求的是一个我可以下载符号的地方,或者是一个确凿的答案,这样的网站是苹果禁止的。“重复的”问题与我在问题中链接的问题类似:唯一建议的答案是访问物理设备或找到其他拥有物理设备的开发人员。

我符号化了一个崩溃转储,但只有我的应用程序代码中的行被符号化;系统代码没有。它看起来像这样:

代码语言:javascript
运行
复制
Thread 0 Crashed:
0   libobjc.A.dylib                     0x39c195d0 0x39c16000 + 13776
1   QuartzCore                          0x33aefcad 0x33ade000 + 72877
2   QuartzCore                          0x33af3105 0x33ade000 + 86277
<snip>
13  UIKit                               0x33d862b9 0x33d2f000 + 357049
14  MyApp                               0x0005ef87 main (main.m:14)

...

Thread 7:
0   libsystem_kernel.dylib              0x3a101e30 0x3a101000 + 3632
1   CoreFoundation                      0x31ef82bb 0x31e61000 + 619195
2   CoreFoundation                      0x31ef7031 0x31e61000 + 614449
3   CoreFoundation                      0x31e6a23d 0x31e61000 + 37437
4   CoreFoundation                      0x31ec8c4b 0x31e61000 + 425035
5   MyApp                               0x0016f293 +[UA_ASIHTTPRequest runRequests] (UA_ASIHTTPRequest.m:4795)
6   Foundation                          0x3283b231 0x3278a000 + 725553
7   libsystem_c.dylib                   0x3a06b0e1 0x3a05a000 + 69857

我从this问题中了解到,这是因为崩溃来自iOS 6.1.4设备,而我的~/Library/Developer/Xcode/iOS DeviceSupport文件夹中没有iOS 6.1.4的符号。

不幸的是,iOS 6.1.4是一个仅针对iPhone 5的版本,而且我无法物理访问可以更新到6.1.4的iPhone 5,因此无法从设备上获取符号。有没有什么地方我可以下载不同iOS版本的符号(没有运行这些版本的设备),或者这些被认为是苹果的机密?

EN

Stack Overflow用户

发布于 2016-12-19 19:20:54

我已经从真实设备(从二手移动市场)、iOS防火墙和Xcode的iOS SDK中收集了大部分系统符号。

您可以在此处下载所需的版本:

iOS system symbol file(7.0-9.2)

iOS system symbol file(9.2.1-10.2)

阅读iOS-System-Symbols获取更多details.If我得到了新的符号文件,我会将其添加到谷歌驱动器共享folder.You可以遵循来自github存储库的最新更新。

如何使用

当您需要对崩溃报告进行符号化时,请检查Code Type OS Version部分。例如:

Code Type: ARM-64

OS Version: iOS 10.2 (14C82)

这意味着你需要10.2 (14C82)系统的arm64版本符号。

  1. 在我的共享文件夹中找到该包,并将其解压缩到~/Library/Developer/Xcode/iOS DeviceSupport。(检查文件的名称和路径,它应该be~/Library/Developer/Xcode/iOS DeviceSupport/10.2 (14C82)/Symbols).
  2. Use Xcode的symbolicatecrash工具,以符号您的崩溃报告。此工具将在iOS DeviceSupportpath automatically.

中搜索系统符号

符号列表

7.0 (11A465)10.2 (14C92)有50个版本。(如果你把操作系统版本和CPU架构一起算,就是85个。我有76个)。

这是从7.010.2的符号列表,以及我得到的它们的CPU架构版本。

代码语言:javascript
运行
复制
|    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  |

缺少符号

我仍然怀念这些CPU的符号,如果你有其中任何一个,请分享

代码语言:javascript
运行
复制
| 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  

如何检查符号文件包含的CPU版本

如果您已经有一个系统符号文件,并且想知道它包含哪个CPU版本,请检查路径中的文件,如10.2 (14C92)/Symbols/System/Library/Caches/com.apple.dyld。应该有名为dyld_shared_cache_arm64dyld_shared_cache_armv7sdyld_shared_cache_armv7的文件。

如果你错过了一个,那就意味着你没有那个CPU版本的符号。

票数 16
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18500104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档