将环境变量从 fastlane 传递到 Xcode 构建阶段脚本

Passing environment variables from fastlane to Xcode build phase script

是否可以(如果可以,如何)将环境变量从运行 fastlane 的脚本传递到 Xcode 运行 脚本阶段?

我的最终目标是在 运行 脚本阶段读取当前的 git b运行ch 名称。我们的 CI 是 Team Foundation Server 的 运行,它执行显式提交的 git checkout,而不是 b运行ches,因此当前的 b运行ch 始终显示为HEAD.

TFS -> fastlane -> gym -> xcodebuild -> script that needs the branch

只有通过 TFS 设置的环境变量才能获取触发构建的 b运行ch。我的计划是将该值降低到 Xcode 脚本来执行我需要的操作。

我不想使用它,因为它会将所有环境变量传递给构建过程,如果我理解正确的话。

defaults write com.apple.dt.Xcode UseSanitizedBuildSystemEnvironment -bool NO

要将环境变量传递给 BuildPhases,请使用 xcargs in Fastfile:

build_app(workspace: ..., scheme: ..., xcargs: "SOMEVAR1='one' SOMEVAR2='two'")

此命令生成 xcodebuild ... SOMEVAR1='one' SOMEVAR2='two',然后这些变量将在构建阶段可用。