Fastlane 与多个团队的多个捆绑 ID 匹配

Mik*_*søe 9 ios fastlane fastlane-match

我有一个具有多个目标的 Xcode 项目。其中两个目标生成应用程序,每个应用程序都有自己的捆绑 ID,通过 Enterprise 开发人员团队 ID 进行分发,而一个目标则通过 App Store 开发人员团队 ID 进行分发。我正在尝试为这个项目设置 Fastlane Match,但我无法让它处理多个团队。

这是我的内容Matchfile

git_url("git@github.com:myorg/certificates-repo.git")
git_branch("master")

app_identifier([
    "my.app.prod",   # <-- Team ID A
    "my.app.dev",    # <-- Team ID B
    "my.app.staging" # <-- Team ID B
])

clone_branch_directly(true)
Run Code Online (Sandbox Code Playgroud)

和我的Appfile

team_id "Team ID B"
apple_id "my@apple.id"
Run Code Online (Sandbox Code Playgroud)

fastlane match当从命令行运行来初始化 Fastlane Match 时,我收到此错误:

git_url("git@github.com:myorg/certificates-repo.git")
git_branch("master")

app_identifier([
    "my.app.prod",   # <-- Team ID A
    "my.app.dev",    # <-- Team ID B
    "my.app.staging" # <-- Team ID B
])

clone_branch_directly(true)
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为它不知道Team ID A. 我可以弯曲 Fastlane Match 以便在各种应用程序标识符中与我的团队 ID 很好地配合吗?

Fra*_*isi 3

您可以使用环境变量

\n\n
    \n
  • 创建两个名为.env.target1.env.target2 的文件。
  • \n
  • 使用适当的值在两个文件中定义MATCH_APP_IDENTIFIERFASTLANE_TEAM_IDMATCH_USERNAME 。您可以使用.env.env.default文件作为共享值以避免重复或将它们保留在您的Matchfile / Appfile中。
  • \n
  • 在 Fastfile 中定义一个使用match. \xe2\x80\xa0
  • \n
  • 使用以下命令执行匹配:fastlane <lane-name> --env target1
  • \n
\n\n

\xe2\x80\xa0

\n\n
lane :<lane-name> do\n    match()\nend\n
Run Code Online (Sandbox Code Playgroud)\n