[英]Missing iOS symbols at “~/Library/Developer/Xcode/iOS DeviceSupport”
On Xcode 5 I am unable to symbolicate crash report. 在Xcode 5上,我无法表示崩溃报告。 I am facing problem when we received a crash report generated on device combination (iPad model + iOS version) that never attached to my development Mac.
当我们收到从未连接到我的开发Mac的设备组合(iPad型号+ iOS版本)上生成的崩溃报告时,我遇到了问题。 Root cause is I don't have all iOS build symbols for all iPads at “/Library/Developer/Xcode/iOS DeviceSupport”.
根本原因是我没有“/ Library / Developer / Xcode / iOS DeviceSupport”中所有iPad的所有iOS构建符号。
App was't build on my machine, but I have .xcarchive in my Xcode. 应用程序不是在我的机器上构建的,但我的Xcode中有.xcarchive 。 I can see symbolication of crash address related to my app only.
我可以看到与我的应用程序相关的崩溃地址的符号。 Not for rest of apple framework's addresses.
不是苹果框架的其余地址。
If you go to path “~/Library/Developer/Xcode/iOS DeviceSupport” on your Mac you can see folders with name like “7.0.2 (11A501)”, “7.0 (11A4449d)”, 6.1.3 (10B329)… which contains binaries from actual device (compiled for arm). 如果你在Mac上找到路径“〜/ Library / Developer / Xcode / iOS DeviceSupport”,你可以看到名称为“7.0.2(11A501)”,“7.0(11A4449d)”,6.1.3(10B329)的文件夹......其中包含来自实际设备的二进制文件(为arm编译)。 When we connect any development iOS device to Mac, Xcode will copy those symbols from actual device to Mac (Only first time, or whenever iOS version get updated on development device).
当我们将任何开发iOS设备连接到Mac时,Xcode会将这些符号从实际设备复制到Mac(仅限第一次,或者每当iOS版本在开发设备上更新时)。 These are required to symbolicated crash symbols other than my app address.
除了我的应用程序地址之外,还需要这些符号来表示崩溃符号。 eg
CoreFoundation 0x2ff85c27 0x2ff7e000 + 31783
(crash log does not symbolicate system libraries addresses) 例如
CoreFoundation 0x2ff85c27 0x2ff7e000 + 31783
(崩溃日志不符号系统库地址)
In short if you received crash on xyz iOS version, that version's device's build directory should be at path "~/Library/Developer/Xcode/iOS DeviceSupport”. Or you should connect that version's iPad to your Mac so that Xcode can collect all data from device that needed for symbolication. 简而言之,如果您在xyz iOS版本上收到崩溃,该版本的设备的构建目录应位于路径“〜/ Library / Developer / Xcode / iOS DeviceSupport”。或者您应该将该版本的iPad连接到Mac,以便Xcode可以收集所有数据来自需要符号化的设备。
Suppose if you received a crash from device running 6.0 (10A403) iOS build, you should have "6.0 (10A403)" directory containing all data at "~/Library/Developer/Xcode/iOS DeviceSupport" to see full symbolication in Xcode of all address. 假设您从运行6.0(10A403)iOS版本的设备收到崩溃,您应该在“〜/ Library / Developer / Xcode / iOS DeviceSupport”中包含“6.0(10A403)”目录,以查看Xcode中的完整符号地址。
From where I can get this symbols eg I want Xcode symbols for “iPhone OS 7.0.4 (11B554a) , Hardware Model: iPad3,1”. 从这里我可以得到这个符号,例如我想要“iPhone OS 7.0.4 (11B554a) ,硬件型号:iPad3,1”的Xcode符号。 Or how I can solve this problem.
或者我如何解决这个问题。
There are only two ways to solve this: 只有两种方法可以解决这个问题:
Usually the symbols are part of the latest Xcode release, but Apple doesn't always provide Xcode updates when an iOS version only contains bug-fixes but no API changes. 通常这些符号是最新Xcode版本的一部分,但是当iOS版本仅包含错误修复但没有API更改时,Apple并不总是提供Xcode更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.