我想知道是否有人能告诉我,当Xcode说:“处理符号文件”后,插入你的设备,实际上是在做什么?
它将从设备检索到的崩溃日志与应用程序的存档版本(标记为正确的)进行比较,以尝试检索代码中发生崩溃的位置。
详见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 Version 6.1.1 (6A2008a)中,在“Processing Symbol Files”之后,在~/Library/Developer/Xcode/iOS DeviceSupport/中创建了一个包含与设备相关的符号(包括iOS版本和CPU类型)的文件夹,如下所示:
讨厌的错误。我把电缆直接插到iPad上解决了这个问题。出于某种原因,如果我把iPad放在苹果的直通架上,这个过程就永远不会结束。
xCode只是复制所有崩溃日志。如果您想要加速:在分析后直接在此窗口中删除崩溃报告的数量。
Devices -> View Device Logs -> All Logs
我知道这不是一个技术解决方案,但我把我的iphone通过电缆连接到电脑上,断开设备与电脑的连接,然后重新连接(再次通过电缆),因为我无法用之前提供的解决方案解决这个问题。
对我来说,象征是永恒的。我用开/关和home键强制重启我的手机。现在快速完成符号化,我开始通过xcode运行我的应用程序。
添加SDK版本对应您的iPhone iOS,例如:iOS 10.3
路径:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
这是下载。当它完成的时候,就可以了。如图所示: