在 FirebaseCrashlytics 的构建阶段运行脚本中上传符号时,Xcode 构建永远不会完成

Posted

技术标签:

【中文标题】在 FirebaseCrashlytics 的构建阶段运行脚本中上传符号时,Xcode 构建永远不会完成【英文标题】:Xcode build never finishes when upload-symbols in Build Phase Run Script for FirebaseCrashlytics 【发布时间】:2021-05-07 10:38:21 【问题描述】:

我已在我的应用中应用 Firebase Crashlytics。我在 Xcode 的 Build Phases 下的 Run Script 中实现了以下内容:

我还配置到构建设置中:

以及我在构建 Xcode 时收到的消息:

Running upload-symbols in Build Phase mode

Validating build environment for Crashlytics...

Validation succeeded. Exiting because upload-symbols was run in validation mode Fetching upload-symbols settings...

Command PhaseScriptExecution failed with a nonzero exit code

有没有人成功地在他们的运行脚本中实现了上传符号脚本?任何想法为什么我的构建停止并且永远不会完成

【问题讨论】:

【参考方案1】:

您不需要“调用上传符号”(脚本中的第二行) 你应该只调用“运行”。 对于运行,还要为脚本添加 2 个输入文件:

./GoogleService-Info.plist //path to your plist
"$DWARF_DSYM_FOLDERPATH/$DWARF_DSYM_FILE_NAME"

您还可以添加 --debug 参数来运行以验证它是否找到正确的 dsym 文件位置 "$PODS_ROOT/FirebaseCrashlytics/run --debug"

如果您查看 Firebase\FirebaseCrashlytics\run,您将看到以下内容:

# This script calls upload-symbols twice:
#
# 1) First it calls upload-symbols synchronously in "validation" mode. If the
#    script finds issues with the build environment, it will report errors to Xcode.
#    In validation mode it exits before doing any time consuming work.
#
# 2) Then it calls upload-symbols in the background to actually send the build
#    event and upload symbols. It does this in the background so that it doesn't
#    slow down your builds. If an error happens here, you won't see it in Xcode.

【讨论】:

【参考方案2】:

几天前我遇到了同样的问题,将 Firebase 升级到最新版本解决了它。

【讨论】:

是的,我更新了 pod,因此 Firebase 已更新到最新版本,从而解决了问题。

以上是关于在 FirebaseCrashlytics 的构建阶段运行脚本中上传符号时,Xcode 构建永远不会完成的主要内容,如果未能解决你的问题,请参考以下文章

iOS 和 FirebaseCrashlytics

FirebaseCrashlytics 不会为 iOS 模拟器编译

Firebase Crashlytics - java.lang.IllegalStateException:缺少 Crashlytics 构建 ID

iOS 上的 Firebase Crashlytics 设置?

如何强制使firebasecrashlytics崩溃?

Firebase crashlytics 自动上传 dsym