0

在 Xcode Target Build Phases 下,我有一个为我的 iOS 应用程序启用 crashlytics 的脚本。这由一个 ENABLE_CRASHLYTICS变量以及它是否设置决定。当我从本地 Xcode 部署到设备时,我可以成功上传强制崩溃,因此脚本可以正常工作。

但是,当涉及到通过我的 Jenkins 工作进行构建时,崩溃并没有被上传。我可以看到构建阶段中的脚本运行但未ENABLE_CRASHLYTICS设置变量,因此 crashlytics 被禁用,因此通过 HockeyApp 分发的测试构建没有崩溃报告。

在我在 Build -> Execute Shell 步骤的 Jenkins 工作中,我确实有

ENABLE_CRASHLYTICS=1

我还缺少其他东西吗?

谢谢!

4

1 回答 1

0

问题是您正在ENABLE_CRASHLYTICS“执行 shell”步骤中导出环境变量。一旦 shell 步骤完成,那个环境就消失了——变量不会被转移到后续的构建步骤中。

因此,当 Xcode 构建步骤执行时,该特定环境变量不再可用。

您还可以使用EnvInject 插件在构建期间注入环境变量。使用此插件设置的变量将可用于所有后续构建步骤。

于 2015-04-29T18:20:11.497 回答