Fastlane与多个应用匹配

时间:2018-02-02 05:18:26

标签: 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

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

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

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

如果我有多个应用的​​单个开发者帐户,以下案例的最佳做法是什么?

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

  • 所有应用的单一回购。

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

1 个答案:

答案 0 :(得分:6)

  

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

匹配不支持此用例。匹配仅支持同步其创建的配置文件。如果你想解决这个问题,你可以手动创建一个相同的,加密的git仓库,它将在那里工作。有关于the advanced documentation page

上修改一个的说明

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

  

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

澄清:

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

因此,如果您要配置证书,请使用证书。

  

如果我有多个应用的​​单个开发者帐户,以下案例的最佳做法是什么?

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

  • 每个应用程序使用一个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 可能如下所示:

convert a.pdf a.png