cou*_*chy 44 xcode objective-c ios dsym
我正在与另一个开发人员合作开发一个应用程序,他们只是向他们的计算机上构建的应用商店提交了一个版本.为了在我的机器上构建(属于同一个git commit),我必须改变我们在XCode项目中使用的库之一的路径.我对XCode项目文件所做的任何更改是否会更改dSYM?如果我能够在不修改XCode项目文件的情况下进行构建,那么dSYM文件是否相同?
Jas*_*ien 113
dSYM文件是"调试符号文件".在项目的构建设置中启用"Strip Debug Symbols"设置时生成.
启用此设置后,将从生成的编译二进制文件中删除对象的符号名称(尝试和阻止的许多对策之一是黑客/破解程序对代码进行逆向工程,以及二进制大小的其他优化等).
dSYM文件可能会在每次编译应用程序时更改(可能每次都由于日期戳),并且与项目设置无关.
它们可用于重新标记崩溃报告.使用剥离的二进制文件,如果没有首先重新符号化,您将无法读取任何崩溃报告.如果没有dSYM,崩溃报告将只显示对象和方法的内存地址.Xcode使用dSYM将符号放回崩溃报告中,并允许您正确读取它.
理想情况下,不应在git仓库中跟踪您的dSYM文件.像在建筑物上改变的其他二进制文件一样,将它们保存在源代码管理中是没有用的.但是,说到这一点,重要的是保持每个分布式构建(测试版,新闻稿,应用程序商店发行版等)的dSYM文件安全,以便您能够表示您可能获得的任何崩溃报告.当您使用存档选项时,Xcode会自动为您执行此操作.创建的存档包含您的应用程序及其dSYM,并存储在Xcode的派生数据目录中.