Ios TravisCI-Fastlane健身房罐';在密钥链中找不到我的证书

Ios TravisCI-Fastlane健身房罐';在密钥链中找不到我的证书,ios,match,travis-ci,code-signing,fastlane,Ios,Match,Travis Ci,Code Signing,Fastlane,我正在尝试设置TravisCI以构建我的iOS应用程序。目标是使用Travis进行测试和部署测试版。我想我会自己做的 然而,我似乎无法让它工作,因为无论我尝试了什么,它都会卡在这一步上(除非它在过程的早期崩溃) 我已经删除了我的团队id和应用程序名称,但假设它们是正确的。否则,请指出不匹配的原因 到目前为止,我已经在Travis中设置了这些变量: FASTLANE_PASSWORD = A generated Application Specific Password for my AppleI

我正在尝试设置TravisCI以构建我的iOS应用程序。目标是使用Travis进行测试和部署测试版。我想我会自己做的

然而,我似乎无法让它工作,因为无论我尝试了什么,它都会卡在这一步上(除非它在过程的早期崩溃)

我已经删除了我的团队id和应用程序名称,但假设它们是正确的。否则,请指出不匹配的原因

到目前为止,我已经在Travis中设置了这些变量:

FASTLANE_PASSWORD = A generated Application Specific Password for my AppleID
MATCH_KEYCHAIN_NAME = "MatchKeychainName"
MATCH_KEYCHAIN_PASSWORD = can't remember, but it's used by both create_keychain and match
MATCH_PASSWORD = The password for my match repository
Travis中还有一个SSH密钥设置,可以访问我的repo。当我设置这个时,我甚至还没有开始使用我自己的证书,所以在运行fastlane match init之后,我只是取消了appstore和development,然后我使用match为这两者创建了新的证书

我的假设是,当我在通道内运行match时,它会自动将repo中的证书同步到当前系统默认的密钥链(如果您看到Fastfile,我刚才创建的密钥链)

任何有关这方面的援助都是非常欢迎的!我最初遵循了这一指南:

匹配文件:

git_url "<a link of the format 'git@github.com:user/repo'>"
app_identifier "com.example.App-Name"
type "development"
username "me@example.com"
team_id "ABCDEFGHIJ"
通过这些设置,我得到以下错误:

**存档失败**
以下生成命令失败:
检查依赖项
(1次失败)
[07:27:41]:退出状态:65
[07:27:41]: 
[07:27:41]:显示的错误可能是使用错误版本的Xcode造成的
[07:27:41]:在“/Applications/”中找到多个版本的Xcode
[07:27:41]:确保为项目选择了正确的版本
[07:27:41]:此生成过程是使用“/Applications/Xcode-9.2.app”执行的
[07:27:41]:如果要更新Xcode路径,请
[07:27:41]: 
[07:27:41]:-在快速文件中指定Xcode版本
[07:27:41]: ▸ xcversion(版本:“8.1”)#选择Xcode 8.1.0
[07:27:41]: 
[07:27:41]:-在快速文件中指定Xcode安装的绝对路径
[07:27:41]: ▸ xcode_选择“/应用程序/Xcode8.app”
[07:27:41]: 
[07:27:41]:-使用手动更新路径
[07:27:41]: ▸ sudoxcode选择-s/Applications/xcode.app
[07:27:41]: 
+---------------+-----------------------------+
|建筑环境|
+---------------+-----------------------------+
|xcode_path |/Applications/xcode-9.2.app|
|gym|U版本| 2.75.1|
|出口法|发展|
|sdk | iPhoneOS11.2.sdk|
+---------------+-----------------------------+
[07:27:41]: ▸ === 使用配置版本生成项目应用程序名称的目标应用程序名称===
[07:27:41]: ▸ 检查依赖项
[07:27:41]: ▸ 代码签名错误:找不到与“匹配AppStore com.example.App Name”匹配的团队“ABCDEFGHIJ”的配置文件:Xcode找不到与“ABCDEFGHIJ/match AppStore com.example.App Name”匹配的任何配置文件。安装配置文件(通过将其拖放到Xcode的dock项上)或在目标编辑器的General选项卡中选择其他配置文件。
[07:27:41]: ▸ 代码签名错误:SDK“iOS 11.2”中的产品类型“应用程序”需要代码签名
[07:27:41]: 
[07:27:41]: ⬆️  查看上面几行原始“xcodebuild”输出,了解如何解决此错误的潜在提示

[07:27:41]:我可以看到它试图使用Appstore证书,但我试图通过声明我使用的类型和导出方法来使用开发证书。还是我做错了?你知道吗?@GregHilston我肯定我知道了,但我不知道为什么。我认为这可能是因为资源调配配置文件不再是纯粹的配置文件了,或者是其他原因。我可能添加了一个设备,然后手动更改了配置文件,使得match没有最新的配置文件,或者类似的配置文件。我想我只是运行了match nuke开发来修复它。我希望避免诉诸于
匹配核武器开发
。谢谢回复@格雷吉尔斯顿我觉得这样做很令人耳目一新,哈哈。但是,如果这是您的问题,请确保在回购协议中设置设备列表,并在将来自动管理它。
desc "TravisCI lane for running tests"
lane :travis_test do
  create_keychain(
    name: ENV["MATCH_KEYCHAIN_NAME"],
    password: ENV["MATCH_KEYCHAIN_PASSWORD"],
    default_keychain: true,
    unlock: true,
    timeout: 3600,
    add_to_search_list: true
  )
  match(
    keychain_password: ENV["MATCH_KEYCHAIN_PASSWORD"],
    type: "development",
    readonly: true,
    # username: "travis@example.com" (I tried to add another user to iTunes Connect)
  )
  # setup_travis (tried running the setup_travis fastlane action once.)

  cocoapods(clean: true, podfile: "./Podfile")
  gym(
    scheme: "App Name",
    export_method: "development",
  )

  delete_keychain(
    name: ENV["MATCH_KEYCHAIN_NAME"]
  )
  slack(
    message: "'App Name' tests run on TravisCI",
    channel: "#tests",
    success: true,
    payload: {
      "Built Date" => Time.new.to_s,
      "Build by" => "TravisCI"
    },
    default_payloads: [:git_branch, :git_author],
    use_webhook_configured_username_and_icon: false,
    username: "TravisCI - Fastlane"
  )
end