【问题标题】:What is the difference between a dSYM folder and an mSYM folder?dSYM 文件夹和 mSYM 文件夹有什么区别?
【发布时间】:2018-12-13 11:04:07
【问题描述】:
我正在开发一个 Xamarin.iOS 应用程序,该应用程序在通过 Ad-hoc 进程部署时崩溃。正如 Apple 的documented,当应用程序崩溃时,会生成一个.crash 文件。该文件还指出,作为开发人员,我们必须保留dSYM 文件夹。
事实证明,就我而言,我(只有?)有一个 mSYM 文件夹。
问题
MyApplicationName.App.dSYM 文件夹和MyApplicationName.App.mSYM 文件夹有什么区别?
【问题讨论】:
标签:
c#
iphone
xamarin.ios
crash
【解决方案1】:
.dSYM
dSYM 文件是“调试符号文件”。它是在项目的构建设置中启用“Strip Debug Symbols”设置时生成的。
启用此设置后,您的对象的符号名称将从生成的编译二进制文件中删除(尝试和防止的众多对策之一是黑客/破解者对您的代码进行逆向工程,以及对二进制大小等的其他优化.).
dSYM 文件可能会在每次编译您的应用程序时发生变化(可能由于日期标记而每次都发生变化),并且与项目设置无关。
.mSYM
mSYM 表示 MonoSymbolArchive。它包含单声道的调试信息。
在 csproj 文件中编辑 iPhone 发布配置以包含 <MonoSymbolArchive>True</MonoSymbolArchive>,这将在 bin/iPhone/Release/.mSYM 中生成符号数据