在本地查找 dSYM 文件

Posted

技术标签:

【中文标题】在本地查找 dSYM 文件【英文标题】:Find dSYM Files locally 【发布时间】:2020-07-30 21:59:22 【问题描述】:

我似乎无法找到我的 .dSYM 文件,并想寻求一些解决问题的方法。我正在使用 FirebaseCrashlytics,它要求提供一些 UUID dSYM 文件。

在过去,我记得你会做的只是去你的存档,显示包内容,在 dSYM 文件夹中会有大量具有 UUID 的 .dSYM 文件,例如 619DB60E-DF83-316B-B3CB-6F3309B67218 等

现在,当我这样做时,当我显示我的 dSYM 的包内容时,我看到的只是以下目录结构:

Contents
...Info.plist
...Resources <folder>
......DWARF <folder>
.........MyAppName    

所有带有 GUID 的文件都去了哪里? 我签入了 xcode,并为我的“调试信息格式”变量设置使用了带有 dSYM 文件的 DWARF。

还有什么需要考虑或考虑的吗?还有什么其他细节可以分享吗?

谢谢!

【问题讨论】:

【参考方案1】:

查看 Xcode 中的 DWARF_DSYM_FOLDER_PATHDWARF_DSYM_FILE_NAME 变量。实际位置取决于您的系统(您的 Mac、CI 管道等)。

如果您希望编写一个脚本来自动定位它们,您可以使用这些变量。例如,要将它们在构建时自动上传到 Crashlytics,请创建如下所示的脚本。注意 - 我们通过 Fabric pod 执行此操作,并将路径调整为 GoogleService-Info.plist 以适应您的文件结构。

#!/usr/bin/env bash
$PODS_ROOT/Fabric/upload-symbols -gsp $SRCROOT/App/Config/$TARGET_NAME/GoogleService-Info.plist -p ios $DWARF_DSYM_FOLDER_PATH/$DWARF_DSYM_FILE_NAME

您可能希望在构建脚本接近或结束时在生产目标上运行它。

【讨论】:

谢谢,我发现在我所有变量的输出中都设置为 no:DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT,我觉得这就是问题所在。任何想法在哪里设置它?

以上是关于在本地查找 dSYM 文件的主要内容,如果未能解决你的问题,请参考以下文章

解析 iOS crash 文件

iOS崩溃日志解析

在快照视图中查找文件的本地副本

iOS崩溃日志解析

回形针在使用 S3 时在本地查找文件以进行重新处理

iOS如何在iTunes网站查看并下载APP的dsym文件