2

我正在尝试让我的团队过渡到使用 Fastlane Match。我让它在我的本地机器上工作,但不在我们的 CI (jenkins) 机器上。我们的 CI 机器上仍然安装了旧证书,我认为这是导致问题的原因。通过 CI 运行时出现错误:

代码签名错误:配置文件“匹配 InHouse >bundle id<”不包括签名证书“​​iPhone Distribution:>org<”。

我最好的猜测是,gym 在尝试验证配置文件时选择了错误的证书,因为两个证书具有相同的名称。

从gym/xcodebuild归档构建时,有没有办法通过id或到期日期指定使用哪个证书?

删除旧证书不是一个可行的选择,因为到目前为止,我们仍然需要旧证书,直到我们的 fastlane 版本 100% 稳定并且每个人都过渡到使用它。

谢谢!

4

1 回答 1

0

是的,您可以通过以下两种方式之一指定要使用的证书:

  1. 在带有 export_options 和 provisioningProfiles 选项的快速文件中:

.

gym(
    ...
    export_options:{
        compileBitcode: false,
        signingStyle: "manual",
        provisioningProfiles:{
            "com.myapp.iosapp": "match AdHoc com.myapp.iosapp"
        }
  1. 或者在 Xcode 的构建设置中,通过手动设置每个证书:

在此处输入图像描述

于 2018-11-12T19:33:19.550 回答