我能否对已剥离调试符号的分发版本进行符号化?

6

实际上,我有两个相关的问题:

  1. 如果我想要对分发构建的崩溃日志进行符号化(也就是说,我给某人一个应用程序测试版本 - 不是已经在应用商店中的版本),我应该在调试模式下禁用"Strip Linked Product""Strip Debug Symbols During Copy"选项,还是在发布模式下禁用?事实上,如果我永久禁用这两个选项,甚至在我的应用商店提交中,是否会导致任何问题?

  2. 如果我把一个已启用"Strip Linked Product""Strip Debug Symbols During Copy"选项的构建版本分发给了测试人员,那么还有办法对它们的崩溃日志进行符号化吗?


我认为这是atos...尝试使用man atos。 - Grady Player
2个回答

3
创建归档文件(Build > Archive)时,将会生成一个名为dSYMS的文件夹,其中包含应用程序及其他链接库的调试符号文件(dSYM文件)。这意味着您可以从产品中剥离调试符号,但保留dSYM文件以用于符号化崩溃报告。此篇文章提供了更多关于如何使用atos工具进行符号化的信息,前提是您拥有应用二进制文件和dSYM文件。
一般来说,Debug版本的Strip Debug Symbols During Copy设置为NO,而Release版本的设置为YES以减少二进制文件大小。

2

如果您通过构建 -> 存档方式分发应用程序,则会有一个与之关联的 dSYM 文件。现在,当您收到崩溃报告时,无需进行任何操作。将崩溃报告拖到 Xcode 中,它将自动添加到“组织器”部分中。如果可用有效的存档和 dSYM 文件,Xcode 将自动为您符号化崩溃日志。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接