【问题标题】:XCode unable to recognise the distribution profile present in my keychainXCode 无法识别我的钥匙串中存在的分发配置文件
【发布时间】:2015-09-19 17:20:44
【问题描述】:

简而言之

  • 我的钥匙串中有一个分发配置文件(图 1)
  • 在 XCode 开发者帐户首选项中,我只看到开发者资料(图 2)
  • 当我尝试添加新的 iOS 分发配置文件时,它说我已经有了,我应该访问会员中心(图 3)
  • 我这样做了,这让我回到了第 1 步
  • 无限循环(又名“我一直在重试时被困在这里……”)

编辑:当我尝试使用我生成的 iOS 移动分发配置文件时,我没有看到很多代码签名身份选项。看起来是这样的:


我已经从苹果开发者会员中心下载了团队分发配置文件到我的电脑上。这是它在我的钥匙串中的样子:

但是,当我尝试签署我的代码以进行临时分发时,我在代码签名身份选项卡中找不到分发证书。

我设法构建了产品存档(用于本地临时分发,例如 TestFlight),但是当我尝试将其导出(或将其提交到 AppStore)时,我收到一条消息,说我已经拥有代码签名身份并且我需要下载它。有关此in this question that I asked yesterday 的更多详细信息。

今天我尝试了一种不同的方法,我决定转到帐户->首选项并尝试单击“+”按钮以添加新的 iOS 分发配置文件。这是我得到的回应:

不幸的是,XCode 似乎无法识别我在钥匙串中安装的 iOS 分发配置文件(请参阅本问题的开头),同时无法重新创建。

如何在不弄乱团队成员的证书/应用程序的情况下解决此问题?

【问题讨论】:

    标签: ios xcode testflight ad-hoc-distribution digital-certificate


    【解决方案1】:

    在您的系统中安装两个有效证书(发行版和开发者)

    【讨论】:

    • 啊啊,是的。但这就是我几天来一直在尝试做的事情。我下载并安装了它们(请参阅我的问题)
    【解决方案2】:

    通过查看您的钥匙串屏幕截图,我可以看到证书旁边缺少小三角。这表明尽管您拥有分发证书,但您缺少私有签名密钥。没有它,您将无法签署应用程序,这就是您陷入此循环的原因。

    如果您是在设置分发证书时创建 CSR(证书签名请求)的人,您的钥匙串中应该已经有私钥 - 在这种情况下,您可能会使用几个不同的钥匙串(例如,我有 login 钥匙串以及我的 Development 钥匙串),私钥实际上与您的分发证书所在的钥匙串不同。
    在这种情况下,您只需将您的密钥或证书移动到正确的钥匙串中,就可以将它们全部结合起来。

    或者,如果您不是最初创建分发证书的人,则需要让原始用户使用 Keychain 为您导出密钥,或者让他们使用 Xcode 导出开发人员配置文件。

    【讨论】:

      【解决方案3】:

      请检查您的钥匙串是否缺少与分发证书关联的私钥。

      这里有一个类似的帖子,您不妨看看:link

      祝你好运!

      【讨论】:

      • 截图有四种可能。 1) 钥匙串缺少与您的 iPhone 开发人员或 iPhone 分发证书关联的私钥。 2) 钥匙串缺少 Apple 全球开发者关系中级证书。 3) 您的证书已被吊销或已过期。 4) 在线证书状态协议 (OCSP) 或证书撤销列表 (CRL) 在 Keychain Access 首选项中打开。但是看截图,我认为是这种情况 1。我提供了链接,因为无法从该页面复制和粘贴来自不同用户的解决方案。
      猜你喜欢
      • 2011-07-14
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 2014-12-16
      • 2011-07-20
      • 2016-01-17
      • 1970-01-01
      相关资源
      最近更新 更多