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

问题描述 投票:1回答:1

我有一个有多个目标的Xcode项目。其中两个目标生成应用程序,每个应用程序都有自己的软件包ID,通过企业开发人员团队ID和一个通过App Store开发人员团队ID分发的目标进行分发。我正在尝试为这个项目设置Fastlane Match,但我不能让它与多个团队打交道。

这是我的Matchfile的内容:

git_url("[email protected]: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)

而我的Appfile

team_id "Team ID B"
apple_id "[email protected]"

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

==========================================
Could not find App ID with bundle identifier 'my.app.prod'
You can easily generate a new App ID on the Developer Portal using 'produce':

fastlane produce -u [email protected] -a my.app.prod --skip_itc

You will be asked for any missing information, like the full name of your app
If the app should also be created on App Store Connect, remove the --skip_itc from the command above
==========================================

An app with that bundle ID needs to exist in order to create a provisioning profile for it

这是有道理的,因为它不知道Team ID A。我是否可以通过各种应用标识符来修改Fastlane Match以使我的团队ID更好?

ios fastlane fastlane-match
1个回答
1
投票

你可以使用environment variables

  • 创建两个名为.env.target1和.env.target2的文件。
  • 使用适当的值在两个文件中定义MATCH_APP_IDENTIFIER,FASTLANE_TEAM_ID和MATCH_USERNAME。您可以将.env和.env.default文件用于共享值,以避免重复或将它们保留在Matchfile / Appfile中。
  • 在Fastfile中定义使用match的通道。 †
  • 使用以下命令执行匹配:fastlane <lane-name> --env target1

lane :<lane-name> do
    match()
end
© www.soinside.com 2019 - 2024. All rights reserved.