将环境变量从 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'
,然后这些变量将在构建阶段可用。
是否可以(如果可以,如何)将环境变量从运行 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'
,然后这些变量将在构建阶段可用。