286

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

截屏

4

8 回答 8

263

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

由于符号是特定于 CPU 的,因此仅当您为特定的 iOS 设备以及特定的 CPU 类型导入了符号时,上述方法才有效。当前需要的 CPU 类型是 armv7(例如 iPhone 4、iPhone 4s)、armv7s(例如 iPhone 5)和 arm64(例如 iPhone 5s)。

因此,如果您想符号化在带有 armv7s 的 iPhone 5 上发生的崩溃报告,并且只有该特定 iOS 版本的 armv7 符号,Xcode 将无法(完全)符号化崩溃报告。

于 2013-10-31T12:44:34.730 回答
36

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

在此处输入图像描述

于 2015-02-05T11:46:28.653 回答
19

xCode 只是复制所有崩溃日志。如果你想加速:分析后删除崩溃报告的数量,直接在这个窗口中。

Devices -> View Device Logs -> All Logs

截屏

于 2016-08-10T08:39:53.583 回答
4

在我的情况下,象征意义是永远的。我用开/关和主页按钮强制重启我的手机。现在很快完成了符号化,我开始通过 xcode 运行我的应用程序。

于 2017-04-03T09:11:05.613 回答
1

我知道这不是一个技术解决方案,但我让我的 iphone 通过电缆与计算机连接,然后断开设备与计算机的连接并再次连接(再次通过电缆)对我有用,因为我无法使用以下解决方案解决它之前提供的。

于 2016-11-04T07:44:51.003 回答
0

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

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

于 2013-10-31T12:32:49.707 回答
0

恼人的错误。我通过将电缆直接插入 iPad 解决了这个问题。出于某种原因,如果我将 iPad 放在 Apple 的直通支架上,这个过程将永远无法完成。

于 2015-04-19T07:30:12.357 回答
0

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

小路:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport


正在下载。完成后,就OK了。如图所示:

在此处输入图像描述

于 2017-06-05T07:20:47.217 回答