确保您的项目构建设置正在生成 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的主要内容,如果未能解决你的问题,请参考以下文章