TestFlight SDK建议在Xcode Build Settings中将Strip Debug Symbols During Copy
设置为YES
,以便实现最佳崩溃报告。我注意到它默认设置为YES
。
我应该将其更改为YES
吗?为什么或为什么不呢?
答案 0 :(得分:28)
我在TestFlight工作。简短的回答是:将其设置为YES
。
答案很长:
@Kerni是对的。在我们开始象征服务器端之前,我们需要在设备上进行符号化。
因此,如果您将dSYM上传到TestFlight,则可以剥离它们。如果您由于某种原因不想上传dSYM,可以将它们保留下来,TestFlight可以在设备上进行符号化。
基本上README没有更新。对不起@Manni!我会为下一个版本更新它。 (我将删除整个部分。)
对此感到抱歉!
答案 1 :(得分:26)
如果默认设置为YES
,则无需执行任何其他操作。
通常,此设置可确保调试符号不是分布式二进制文件的一部分,从而将文件大小减小30-50%。应将调试符号写入dSYM DWARF文件,该文件稍后可用于表示崩溃报告。
答案 2 :(得分:8)
TestFlight SDK建议将此设置设置为 NO ,而不是YES:
为了实现最佳崩溃报告,我们建议将Xcode中的以下项目构建设置设置为NO,以便为要进行实时崩溃报告的所有目标设置。您可以通过打开Project Navigator(默认命令+ 1或命令+ shift + j)然后单击要配置的项目(通常是列表中的第一个选项)来查找构建设置。从那里,您可以选择在单个项目的基础上更改全局项目设置或设置。所有 以下设置位于部署部分。
- 部署Postrocessing
- 复制期间删除调试符号
- 剥离链接产品
Bugsense(http://www.bugsense.com/pages/faq)也推荐此设置:
为什么我的iOS应用程序会获得内存转储而不是堆栈跟踪? iOS应用程序通常不包含调试信息,或者此信息包含在扩展名为dSYM的特殊文件中 (调试SYMbols)。打开(并包含在二进制文件中)调试 您的iOS应用程序的信息必须设置为否项目设置 所有项目配置都称为“剥离调试符号”。