在 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 构建永远不会完成的主要内容,如果未能解决你的问题,请参考以下文章
FirebaseCrashlytics 不会为 iOS 模拟器编译
Firebase Crashlytics - java.lang.IllegalStateException:缺少 Crashlytics 构建 ID