确保您的项目构建设置正在生成 dSYM 文件。对于所有配置,DEBUG_INFORMATION_FORMAT 应设置为 dwarf-with-dsym

Posted

技术标签:

【中文标题】确保您的项目构建设置正在生成 dSYM 文件。对于所有配置,DEBUG_INFORMATION_FORMAT 应设置为 dwarf-with-dsym【英文标题】:Make sure your project build settings are generating a dSYM file. DEBUG_INFORMATION_FORMAT should be set to dwarf-with-dsym for all configurations 【发布时间】:2015-05-26 09:41:16 【问题描述】:

我最近开始收到此错误:

2015-03-23 11:35:48.902 run[60036:1047011] Crashlytics.framework/run 1.3.14
2015-03-23 11:35:48.911 run[60036:1047011] 

Crashlytics: dSYM Error

Unable to process <your app>.app.dSYM at path /path/to/<your app>.app.dSYM
Make sure your project build settings are generating a dSYM file. DEBUG_INFORMATION_FORMAT should be set to dwarf-with-dsym for all configurations. This could also be a timing issue, make sure the Crashlytics run script build phase is the last build phase and no other scripts have moved the dSYM from the location Xcode generated it.

Command /bin/sh failed with exit code 1

我试过这个答案Unable to copy dSYM file into archive 但我所有的Generate Debug Symbols 都设置为YES

还有什么建议吗?

【问题讨论】:

恕我直言,这是 Fabric 的麻烦事。我们专门从调试配置中禁用 dsym 以加快构建速度。 也想吃蛋糕吗?仅为模拟器设置 DWARF。 holko.pl/2016/10/18/dsym-debug 应用程序构建失败,***.com/questions/60630429/…。谁能知道我的问题的解决方案 【参考方案1】:

以下解决方案对我有用,希望对您有所帮助。

转到项目的构建设置,然后在构建设置中搜索调试信息格式并搜索“调试信息格式”,然后将“调试信息格式”设置为“带有 dSYM 文件的 DWARF”

并确保构建设置中的生成调试符号设置为是。

【讨论】:

在我的例子中,这个设置是DWARF 用于调试模式。将其设置为DWARF with dSYM 会使警告消失。谢谢! weeeeell,如果我想在 DEBUG 中运行时加快构建时间(通过在构建过程结束时关闭 dSym 生成)怎么办?我想禁用此警告。一定要找到剧本! @Jaro:我正在研究类似的东西。在这篇博文中,他们还更改了每个 cocoapod 的设置,你认为这也有必要吗? tech.zalando.com/blog/speeding-up-xcode-builds @fabb:感谢脚本,但它对我没有用。安装 pod 后,我仍然看到 dSYM。地狱与这个“cocoapods vs dSYM off”的事情,如果你有100多个文件在项目中编译,构建时间没有区别。相同的结果:30 秒。现在 RAID 0 中的 2 个 SSD 有所作为 :) 这可能会减慢您的调试构建速度。如果您在调试模式下运行,我建议跳过 Crashlytics 脚本。使用这样的东西:debugConfig="Debug" if [ "$debugConfig" != "$CONFIGURATION" ]; then "$PODS_ROOT/Fabric/run" fi【参考方案2】:

在运行脚本上检查真正的“仅在安装时运行脚本”

【讨论】:

那有什么作用? 它与在应用安装期间执行的 Fabric 的安装脚本有关。这将纠正 DYSM 问题 @Bruno 我知道您知道这将纠正 DSYM 问题。为什么会这样呢?它是否通过引入另一个问题来解决这个问题?它实际上做了什么来纠正问题?【参考方案3】:

详细说明 Bruno 的回应,如果您已经有一个脚本阶段需要一直运行,请创建一个新的专用阶段以避免冲突。

【讨论】:

【参考方案4】:

我删除了 Fabric 和 Crashlytics,然后从头开始重新添加它们,就像我第一次安装它一样。它奏效了。

另见https://twittercommunity.com/t/how-to-reinstall-fabric-crashlytics/37890

【讨论】:

我没有 Twitter 帐户,也不想在那里注册。你能在这里展示这个解决方案吗?至少是主要部分。

以上是关于确保您的项目构建设置正在生成 dSYM 文件。对于所有配置,DEBUG_INFORMATION_FORMAT 应设置为 dwarf-with-dsym的主要内容,如果未能解决你的问题,请参考以下文章

即使构建设置具有调试信息格式 = 带有 dSYM 的 Dwarf,Xcode 也不会生成所有必需的 dSYM

xcodebuild - 设置构建目录不会生成 dSYM

Crashlytics 自动上传 dsym 文件

如何创建 .dSYM 文件?

Carthage 静态框架 dSYM

更改 dsym 文件中的 uuid