我想知道是否有人能告诉我,当Xcode说:“处理符号文件”后,插入你的设备,实际上是在做什么?


当前回答

添加SDK版本对应您的iPhone iOS,例如:iOS 10.3

路径:

/应用程序/ xcode /内容/开发/平台/ iPhoneOS.platform / DeviceSupport


这是下载。当它完成的时候,就可以了。如图所示:

其他回答

它将从设备检索到的崩溃日志与应用程序的存档版本(标记为正确的)进行比较,以尝试检索代码中发生崩溃的位置。

查看xcode符号文件位置了解详细信息

添加SDK版本对应您的iPhone iOS,例如:iOS 10.3

路径:

/应用程序/ xcode /内容/开发/平台/ iPhoneOS.platform / DeviceSupport


这是下载。当它完成的时候,就可以了。如图所示:

它从设备上下载(调试)符号,因此可以在特定iOS版本的设备上进行调试,也可以在该iOS版本上标记发生的崩溃报告。

因为符号是特定于CPU的,所以上面的方法只有在你不仅为特定的iOS设备导入符号,而且为特定的CPU类型导入符号时才有效。目前需要的CPU类型是armv7(例如iPhone 4, iPhone 4s), armv7s(例如iPhone 5)和arm64(例如iPhone 5s)。

因此,如果你想用armv7s来表示发生在iPhone 5上的崩溃报告,并且在特定的iOS版本中只有armv7的符号,Xcode将无法(完全)表示崩溃报告。

在Xcode Version 6.1.1 (6A2008a)中,在“Processing Symbol Files”之后,在~/Library/Developer/Xcode/iOS DeviceSupport/中创建了一个包含与设备相关的符号(包括iOS版本和CPU类型)的文件夹,如下所示:

对我来说,象征是永恒的。我用开/关和home键强制重启我的手机。现在快速完成符号化,我开始通过xcode运行我的应用程序。