【发布时间】:2013-10-11 20:14:39
【问题描述】:
我想知道是否有人可以告诉我 Xcode 在插入设备后显示“处理符号文件”时实际上在做什么?
【问题讨论】:
-
我不得不等待很长时间......大约 30 分钟,后来在设备上部署成功。也许 Mac 需要时间来识别设备。
我想知道是否有人可以告诉我 Xcode 在插入设备后显示“处理符号文件”时实际上在做什么?
【问题讨论】:
它从设备下载(调试)符号,因此可以在具有该特定 iOS 版本的设备上进行调试,也可以符号化在该 iOS 版本上发生的崩溃报告。
由于符号是特定于 CPU 的,因此上述方法仅在您为特定 iOS 设备以及特定 CPU 类型导入符号时才有效。目前需要的 CPU 类型是 armv7(例如 iPhone 4、iPhone 4s)、armv7s(例如 iPhone 5)和 arm64(例如 iPhone 5s)。
因此,如果您想符号化发生在带有 armv7s 的 iPhone 5 上的崩溃报告,并且只有该特定 iOS 版本的 armv7 符号,Xcode 将无法(完全)符号化崩溃报告。
【讨论】:
在 Xcode 版本 6.1.1 (6A2008a) 中,在“处理符号文件”之后,在 ~/Library/Developer/Xcode/iOS DeviceSupport/ 中创建了一个包含与设备相关的符号(包括 iOS 版本和 CPU 类型)的文件夹像这样:
【讨论】:
(null) ((null)) 实际上。
在我的例子中,象征性是永远的。我用开/关和主页按钮强制重启我的手机。现在很快完成了符号化,我开始通过 xcode 运行我的应用程序。
【讨论】:
我知道这不是一个技术解决方案,但我让我的 iphone 通过电缆与计算机连接,然后断开设备与计算机的连接并再次连接(再次通过电缆)对我有用,因为我无法用之前提供的解决方案。
【讨论】:
它将从设备检索到的崩溃日志与应用程序的存档(符号化为正确)版本进行比较,以尝试检索发生崩溃的代码位置。
【讨论】:
烦人的错误。我通过将电缆直接插入 iPad 解决了这个问题。出于某种原因,如果我将 iPad 放在 Apple 的直通支架上,这个过程将永远无法完成。
【讨论】:
添加与您的iPhone iOS对应的SDK版本,例如:iOS 10.3
路径:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
正在下载。完成后,就OK了。如图:
【讨论】: