Fastlane与多个应用匹配

Par*_*oja 2 xcode automation code-signing fastlane fastlane-match

我有多个应用的​​开发者帐户.我正在使用fastlane匹配来生成证书和配置文件.现在使用匹配它创建新的证书.检查下面的代码如何生成它.

lane :GenerateCerts do
    match(app_identifier: "dev", type: "development")
    match(app_identifier: "stage", type: "development")
    match(app_identifier: "stage", type: "appstore")
end
Run Code Online (Sandbox Code Playgroud)

我已经越过开发者帐户的限制来生成新的iOS发布证书,因此我无法生成新的证书.但我想dev门户网站上的证书可用于生成配置文件.

如何使用门户中已有的证书生成配置文件?

另外,我需要在Xcode中手动设置不同配置的配置文件.哪个命令可以帮助配置由match,cert,sigh生成的Xcode中的证书?

当我拥有多个应用程序的单个开发人员帐户时,以下案例的最佳做法是什么?

  • 为fastlane匹配为不同的应用程序创建不同的git repo

  • 所有应用程序的单一回购.

现在我正在使用第一个.如果您有任何更好的建议请帮忙.

Aar*_*ger 8

如何使用门户中已有的证书生成配置文件?

匹配不支持此用例.匹配仅支持同步其创建的配置文件.如果你想解决这个问题,你可以手动创建一个相同的,加密的git仓库,它将在那里工作.有关在高级文档页面上修改一个的说明

相反,您可以查看匹配的源代码,它使用证书和叹息,并为您的特定用例创建自定义操作.

另外,我需要在Xcode中手动设置不同配置的配置文件.哪个命令可以帮助配置由match,cert,sigh生成的Xcode中的证书?

澄清:

  • cert将获得(或创建,如有必要)代码签名证书
  • 叹气将获得(或创建,如有必要)使用代码签名证书签署的配置文件
  • match调用上述命令并通过加密的git repo同步它们的输出

因此,如果要配置证书,请使用cert.

当我拥有多个应用程序的单个开发人员帐户时,以下案例的最佳做法是什么?

我所知道的并不是真正的最佳实践.您有几个选项,每个选项都有自己的权衡:

  • 每个应用程序使用一个repo.这有利于项目的完全隔离,这有助于安全目的,但您需要手动同步分发配置文件(使用我上面链接的高级技术)
  • 使用一个仓库,每个应用程序一个分支.这使您可以为多个应用程序同步相同的证书,但存在安全风险,因为任何有权访问此repo的人都拥有超出他们需要的权限(除非每个人都在处理所有事情)
  • 使用一个repo进行分发凭据,并为开发凭据添加额外的每个应用程序repo.

第二个选项将需要使用match_branch可以在您Fastfile或您(我的偏好)中指定的选项,Matchfile以使您的Fastfile清洁.对于最终选项,您可以使用该for_lane命令在从特定通道调用时覆盖选项.例如,您Matchfile可能看起来像:

git_url "git@github.com:my_org/my_repo_name.git"

type 'development'
readonly true

for_lane :deploy_to_app_store do
  type 'appstore'
  git_url "git@github.com:my_org/my_distribution_cert_repo.git"
end
Run Code Online (Sandbox Code Playgroud)