“~/Library/Developer/Xcode/iOS DeviceSupport”处缺少 iOS 符号

2024-03-23

在 Xcode 5 上,我无法表示崩溃报告。当我们收到在从未连接到我的开发 Mac 的设备组合(iPad 型号 + iOS 版本)上生成的崩溃报告时,我遇到了问题。 根本原因是我在“/Library/Developer/Xcode/iOS DeviceSupport”中没有所有 iPad 的所有 iOS 构建符号。

应用程序不是在我的机器上构建的,但我有.xcarchive在我的 Xcode 中。我只能看到与我的应用程序相关的崩溃地址的符号。不适用于苹果框架的其余地址。

如果您在 Mac 上转到路径“~/Library/Developer/Xcode/iOS DeviceSupport”,您可以看到名称类似于“7.0.2 (11A501)”、“7.0 (11A4449d)”、6.1.3 (10B329) 的文件夹...其中包含来自实际设备的二进制文件(为arm编译)。当我们将任何开发 iOS 设备连接到 Mac 时,Xcode 会将这些符号从实际设备复制到 Mac(仅第一次,或每当开发设备上的 iOS 版本更新时)。 除了我的应用程序地址之外,这些都是符号化崩溃符号所必需的。例如CoreFoundation 0x2ff85c27 0x2ff7e000 + 31783(崩溃日志不代表系统库地址)

简而言之,如果您在 xyz iOS 版本上收到崩溃,则该版本设备的构建目录应位于路径“~/Library/Developer/Xcode/iOS DeviceSupport”。或者您应该将该版本的 iPad 连接到您的 Mac,以便 Xcode 可以收集所有数据来自需要符号化的设备。

假设如果您从运行 6.0 (10A403) iOS 版本的设备收到崩溃,您应该在“~/Library/Developer/Xcode/iOS DeviceSupport”中拥有包含所有数据的“6.0 (10A403)”目录,以便在 Xcode 中查看所有数据的完整符号地址。

从哪里可以获得这个符号,例如我想要“iPhone OS 7.0.4”的 Xcode 符号(11B554a),硬件型号:iPad3,1”。或者我该如何解决这个问题。


解决这个问题只有两种方法:

  1. 您需要一台运行相同 iOS 版本并且具有与发生崩溃报告的 CPU 架构相同的 CPU 的设备,然后插入您的计算机,以便 Xcode 可以导入符号
  2. 或者您需要从其他开发人员处获取符号。

通常这些符号是最新 Xcode 版本的一部分,但当 iOS 版本仅包含错误修复但不包含 API 更改时,Apple 并不总是提供 Xcode 更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“~/Library/Developer/Xcode/iOS DeviceSupport”处缺少 iOS 符号 的相关文章

随机推荐