问题描述
请注意:我要求提供一个可以下载符号的地方,或者为Apple提供此类网站的确凿答案。 重复问题类似于我在问题中链接的问题:唯一建议的答案是访问物理设备或找到另一个拥有一个物理设备的开发人员。
我象征着一个故障转储,但只有我的应用程序代码中的行被符号化;系统代码没有。它看起来像这样:
I've symbolicated a crashdump, but only the lines in my application code get symbolicated; system code does not. It looks something like this:
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
我从这是因为崩溃来自iOS 6.1.4设备,我的〜/ Library / Developer / Xcode / iOS DeviceSupport文件夹中没有iOS 6.1.4的符号。
I gather from this question that this is because the crash came in from an iOS 6.1.4 device, and I do not have symbols for iOS 6.1.4 in my ~/Library/Developer/Xcode/iOS DeviceSupport folder.
不幸的是,iOS 6.1.4是一个仅限iPhone 5的版本,我没有物理访问iPhone 5,我可以更新到6.1.4,所以获取符号关闭设备了。是否 anyplace 我可以下载不同iOS版本的符号(没有运行这些版本的设备),或者这些被认为是Apple机密?
Unfortunately, iOS 6.1.4 is an iPhone 5-only release, and I don't have physical access to an iPhone 5 which I can update to 6.1.4, so getting the symbols off the device is out. Is there anyplace I could download the symbols for different iOS versions (without the devices that run those versions), or are these considered Apple confidential?
推荐答案
我从真实设备(来自二手移动市场),iOS fireware和Xcode的iOS SDK收集了大部分系统符号。
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:
阅读了解更多详情。如果我得到新的符号文件,我会将其添加到google驱动器共享文件夹。您可以关注gith的最新更新上面的ub存储库。
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.
- 当你需要象征一个崩溃报告,检查
代码类型
和操作系统版本
部分。如:
- When you need to symbolicate a crash report, check the
Code Type
andOS Version
section. Such as:
代码类型:ARM-64
操作系统版本:iOS 10.2(14C82)
这意味着你需要 arm64
10.2(14C82)
系统的版本符号。
That means you need arm64
version symbols of 10.2 (14C82)
system.
-
在我的共享文件夹中找到包并将其解压缩到
〜/ Library / Developer / Xcode / iOS DeviceSupport
。 (检查文件的名称和路径,它应该是〜/ Library / Developer / Xcode / iOS DeviceSupport / 10.2(14C82)/ Symbols
)。
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
).
使用Xcode的 symbolicatecrash
工具来表示崩溃报告。此工具将自动搜索 iOS DeviceSupport
路径中的系统符号。
Use Xcode'ssymbolicatecrash
tool to symbolicate your crash report. This tool will search system symbols in theiOS DeviceSupport
path automatically.
符号列表
从 7.0(11A465)
到 10.2共有50个版本(14C92)
。(如果算上CPU架构的操作系统版本,它是85.我有76个)。
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).
这是从 7.0
到 10.2
的符号列表,其中包含我们的CPU架构版本。
Here is the list of symbols from 7.0
to10.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 |
缺少符号
我仍然怀念这些CPU的符号,如果您有任何符号,请分享:
| 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_arm64
, dyld_shared_cache_armv7s
, dyld_shared_cache_armv7
的文件。
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
.
如果你错过了一个,那就意味着你没有那个CPU版本的符号。
If you miss one, that means you don't have that CPU version's symbols.
这篇关于哪里可以获得其他iOS版本的iOS系统符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!