Xamarin iOS无法创建dSYM文件,如何获取以符号化崩溃日志?
解决Xamarin.iOS无法生成dSYM文件的问题
我之前在用旧版本Visual Studio for Mac和Xamarin.iOS时也碰到过一模一样的dSYM生成问题,结合你的环境(VS for Mac 7.4.3.10、Xamarin.iOS 11.9.1.24),给你几个针对性的排查和解决步骤:
重点检查iOS Build配置里的dSYM开关
很多人会忽略这个关键选项:右键你的Xamarin.iOS项目 → 选项 → iOS Build,切换到Release配置(Debug模式默认可能不生成dSYM,除非手动开启):- 把“调试信息”设置为「完整」或「仅符号」
- 务必勾选**生成调试符号(dSYM)**这个复选框(这是核心,之前你可能只改了调试信息级别,没开这个开关)
- 如果是Release配置,“优化代码”可以暂时关闭试试,部分旧版本的优化逻辑会干扰dSYM生成
确认dSYM的实际生成位置
dSYM不是单独的文件夹,而是一个后缀为.dSYM的包文件(Mac上显示为文件夹,但本质是包),它和你的.app文件在同一个输出目录里:- 同样在iOS Build的「输出」标签页,查看“输出目录”的具体路径
- 构建完成后直接去这个路径找,或者用Spotlight搜索「你的项目名.dSYM」,说不定生成到了你没注意的地方
清理构建缓存后重新构建
旧版本的VS for Mac有时候缓存会导致配置不生效:- 执行菜单栏的「项目 → 清理解决方案」
- 手动删除项目根目录下的
bin和obj文件夹(Finder里直接删,清理命令可能清不干净) - 选择Release配置,目标设备选「Generic Device」(不要选模拟器,模拟器的构建可能不生成dSYM),然后执行「重新生成解决方案」
用命令行构建验证
IDE的配置可能有bug,试试用终端命令构建,能更直观看到输出:
打开终端,进入项目所在目录,执行:msbuild YourProjectName.csproj /p:Configuration=Release /p:Platform=iPhone /t:Build构建完成后,看终端输出里的「Output directory」路径,直接去那里找dSYM文件
检查项目文件的手动配置
如果上面都不行,右键项目 → 「编辑项目文件」,查看是否有禁用dSYM的属性:
找有没有类似<MtouchDebugSymbols>false</MtouchDebugSymbols>的节点,如果有改成true,保存后重新构建
内容的提问来源于stack exchange,提问作者Stinky Towel
相关产品推荐
相关产品推荐

