我正在与另一个开发人员一起开发一个应用程序,他们刚刚向他们的电脑上构建的应用程序商店提交了一个版本。为了在我的机器上进行构建(属于同一个git提交),我必须更改我们在XCode项目中使用的一个库的路径。我对XCode项目文件所做的任何更改是否会更改dSYM?如果我能够在不修改XCode项目文件的情况下进行构建,那么dSYM文件会相同吗?
发布于 2014-03-18 00:46:03
dSYM文件是“调试符号文件”。它是在项目的构建设置中启用“条带调试符号”设置时生成的。
启用此设置时,对象的符号名称将从编译后的二进制文件中删除(尝试和防止的许多对策之一是黑客/黑客对代码进行反向工程,以及其他优化二进制文件大小等)。
dSYM文件可能会在每次编译你的应用程序时发生变化(可能每次都是由于日期戳的原因),并且与项目设置无关。
它们对于重新表示崩溃报告很有用。使用已剥离的二进制文件,您将无法读取任何崩溃报告,除非首先对它们进行重新符号化。如果没有dSYM,崩溃报告将只显示对象和方法的内存地址。Xcode使用dSYM将符号放回崩溃报告中,并允许您正确读取它。
理想情况下,您的dSYM文件不应该在git代码库中被跟踪。与其他在构建时更改的二进制文件一样,将它们保留在源代码控制中也没有什么用处。然而,话虽如此,保留每个分布式构建(测试版、新闻发布、应用商店分发版等)的dSYM文件是很重要的。一个安全的地方,这样你就可以用符号来表示你可能得到的任何崩溃报告。当您使用Archive选项时,Xcode会自动为您执行此操作。创建的归档文件包含您的应用程序及其dSYM,并存储在Xcode的派生数据目录中。
https://stackoverflow.com/questions/22460058
复制相似问题