ios 在 Xcode 中处理符号文件
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/19187857/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Processing Symbol Files in Xcode
提问by Woodstock
I was wondering if anyone could tell me what Xcode is actually doing when it says: "Processing Symbol Files" after plugging in your device?
我想知道是否有人可以告诉我 Xcode 在插入设备后显示“正在处理符号文件”时实际在做什么?
采纳答案by Kerni
It downloads the (debug) symbols from the device, so it becomes possible to debug on devices with that specific iOS version and also to symbolicate crash reports that happened on that iOS version.
它从设备下载(调试)符号,因此可以在具有该特定 iOS 版本的设备上进行调试,也可以符号化发生在该 iOS 版本上的崩溃报告。
Since symbols are CPU specific, the above only works if you have imported the symbols not only for a specific iOS device but also for a specific CPU type. The currently CPU types needed are armv7 (e.g. iPhone 4, iPhone 4s), armv7s (e.g. iPhone 5) and arm64 (e.g. iPhone 5s).
由于符号是特定于 CPU 的,因此以上仅当您不仅为特定的 iOS 设备而且为特定的 CPU 类型导入了符号时才有效。当前需要的 CPU 类型是 armv7(例如 iPhone 4、iPhone 4s)、armv7s(例如 iPhone 5)和 arm64(例如 iPhone 5s)。
So if you want to symbolicate a crash report that happened on an iPhone 5 with armv7s and only have the symbols for armv7 for that specific iOS version, Xcode won't be able to (fully) symbolicate the crash report.
因此,如果您想用 armv7s 来表示 iPhone 5 上发生的崩溃报告,并且只有该特定 iOS 版本的 armv7 的符号,那么 Xcode 将无法(完全)表示崩溃报告。
回答by fujianjin6471
In Xcode Version 6.1.1 (6A2008a), after "Processing Symbol Files", a folder containing symbols associated with the device (including iOS version and CPU type) was created in ~/Library/Developer/Xcode/iOS DeviceSupport/ like this:
在 Xcode 版本 6.1.1 (6A2008a) 中,在“处理符号文件”之后,在 ~/Library/Developer/Xcode/iOS DeviceSupport/ 中创建了一个包含与设备关联的符号(包括 iOS 版本和 CPU 类型)的文件夹,如下所示:
回答by WINSergey
回答by Savas Adar
In my case symbolicating was take forever. I force restart my phone with both of on/off and home button. Now quickly finished symbolicating and I am starting run my app via xcode.
在我的情况下,象征性是永远的。我用开/关和主页按钮强制重启我的手机。现在很快就完成了符号化,我开始通过 xcode 运行我的应用程序。
回答by Francisco Romero
I know that this is not a technical solution but I had my iphone connected with the computer by cable and disconnecting the device from the computer and connecting it again (by cable again) worked for me as I could not solved it with the solutions that are provided before.
我知道这不是一个技术解决方案,但我通过电缆将我的 iphone 与计算机连接并断开设备与计算机的连接并再次连接(再次通过电缆)对我有用,因为我无法使用以下解决方案解决它之前提供。
回答by GeekMeng
Add SDK version correspond to your iPhone iOS, eg: iOS 10.3
添加与您的 iPhone iOS 对应的 SDK 版本,例如:iOS 10.3
path:
小路:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
It's downloading. When it's finished, it's OK. As shown in the figure:
正在下载。完成后就OK了。如图:
回答by GoldenJoe
Annoying error. I solved it by plugging the cable directly into the iPad. For some reason the process would never finish if I had the iPad in Apple's pass-through stand.
烦人的错误。我通过将电缆直接插入 iPad 解决了这个问题。出于某种原因,如果我将 iPad 放在 Apple 的直通支架上,这个过程将永远不会完成。
回答by Jerome Diaz
It compares crash logs retrieved from the device to archived (symbolized to be correct) version of your applications to try to retrieved where on your code the crash occurred.
它将从设备检索到的崩溃日志与应用程序的存档(符号化为正确)版本进行比较,以尝试检索代码中发生崩溃的位置。
Look at xcode symbol file locationfor details
查看xcode 符号文件位置以了解详细信息