Xcode 在构建阶段使用 Firebase 上传符号时构建永远不会完成 运行 脚本

Xcode build never finishes when using Firebase upload-symbols in Build Phase Run Script

我在我的应用中启用了 Firebase Analytics 和 Crashlytics。根据 Firebase website,我在我的 运行 脚本中实现了以下内容,在 Xcode 的构建阶段下:

find dSYM_directory -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p platform \{\}

我从 Xcode 收到以下输出:

Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Validation succeeded. Exiting because upload-symbols was run in validation mode

据称该脚本已成功完成其工作,如 Console.app 中所述。请参阅随附的屏幕截图以获取输出。

在Xcode收到上述消息后,构建进度不再继续。它停留在 Building 2069 of 2081 tasks。在分发新的应用程序版本后,我可以手动成功 运行 这个脚本。但是 Google 为 Firebase 提供此脚本的全部意义在于使整个过程自动化。

有没有人在他们的 运行 脚本中成功实现了上传符号脚本?知道为什么我的构建停滞并且永远不会完成吗?

我意识到我需要为 运行 脚本添加一个输入文件。请参阅下面的实现。

我找到了另一个运行可靠的选项。将您的 运行 脚本修改为以下内容: ${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -bp 就是这样,只有一行。我们通过终端 运行ning upload-symbols --help 发现了这一点。其中说了以下关于 -bp, --build-phase 命令行参数的内容。 “构建阶段模式意味着 运行 作为 Xcode 运行 脚本构建阶段。它从构建环境变量中找到 dSYM 和平台,而不是让调用者传递它们。随着此标志、 和 --platform 可以省略。"

您还可以添加 -d 标志,它会记录大量但似乎非常相关的信息。在这个过程中往往很难找到。