在Xcode 5上,我无法表示崩溃报告。当我们收到从未连接到我的开发Mac的设备组合(iPad型号+ iOS版本)上生成的崩溃报告时,我遇到了问题。 根本原因是我没有“/ Library / Developer / Xcode / iOS DeviceSupport”中所有iPad的所有iOS构建符号。
应用程序不是在我的机器上构建的,但我的Xcode中有 .xcarchive 。我可以看到与我的应用程序相关的崩溃地址的符号。不是苹果框架的其余地址。
如果你在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 (11B554a),硬件型号:iPad3,1”的Xcode符号。或者我如何解决这个问题。
答案 0 :(得分:3)
只有两种方法可以解决这个问题:
通常这些符号是最新Xcode版本的一部分,但是当iOS版本仅包含错误修复但没有API更改时,Apple并不总是提供Xcode更新。