【问题标题】:Xcode - account already has valid iOS Distribution CertificateXcode - 帐户已经拥有有效的 iOS 分发证书
【发布时间】:2015-08-29 18:49:48
【问题描述】:

我的开发团队最近向我们的 Apple Developer 帐户添加了一个新的分发证书。我下载了它,它现在在我的钥匙串上。但是,我在 Xcode 中收到此消息:

您在会员中心拥有有效的 iOS 分发证书,但未在本地安装。如果您的签名身份安装在另一台 Mac 上,您可以在该 Mac 上导出开发者配置文件并将其导入到这台 Mac 上。您还可以撤销当前证书并申请新证书。

当我转到首选项 > 帐户 > 查看详细信息时,我只看到 1 个证书签名身份“iOS 开发”。如何添加新的分发证书?我认为只需将其安装在我的钥匙串上就足够了。当我尝试将证书从我的钥匙串拖到“查看详细信息”部分中的签名身份时,它不起作用,因为我无法将它拖到那里。

我认为下载分发证书就足以像 Xcode 所说的那样将其“安装在本地”,但显然它没有效果。

任何帮助或建议将不胜感激。谢谢。

【问题讨论】:

  • "我下载了它,它现在在我的钥匙串上" 这应该是你所需要的,因为 Xcode 可以看到你的钥匙串(除非你拒绝了它的权限)。您是否告诉帐户详细信息要刷新?
  • 是的,我仍然只看到“iOS 开发”证书出现。如何检查我是否拒绝了它的权限或不查看我的钥匙串?
  • 当我点击刷新时,我得到一个窗口,提示“未找到证书:在会员中心未找到以下证书。Xcode 可以代表您提交证书签名请求。请选择您的证书希望 Xcode 请求。”除了 Mac 证书(我不需要)之外,它还列出了我可以选中的复选框:开发人员 ID 应用程序证书和开发人员 ID 安装程序证书。这些是我想要的吗?我犹豫要不要这些,因为我不想搞砸任何事情:(

标签: ios xcode


【解决方案1】:

我花了很多时间寻找问题所在,但我的担忧却大相径庭。

一切都配置妥当,所有证书和配置文件都在本地。

然而 Xcode Organizer 一直说我的新分发证书不在我的钥匙串中。

基本上,这个著名的分发证书在我的本地机器上不受信任。我必须按照以下程序信任它:https://support.apple.com/guide/keychain-access/change-the-trust-settings-of-a-certificate-kyca11871/mac#:~:text=In%20the%20Keychain%20Access%20app,from%20the%20pop%2Dup%20menus

【讨论】:

    【解决方案2】:

    Xcode / Preferences / Accounts - 你的apple id,是开发团队的一员吗?在(帐户选项卡的)右下角,在团队名称下,它可能默认为“(您的名称)(个人团队)”,但也应该有另一个选择“(您的团队的名称)”。因此,如果您的团队名为“The Awesome Team”,则应在“Team Name”下选择“The Awesome Team”,而不是您的个人姓名。

    更新:
    如何“选择团队名称”因 Xcode 版本而异。
    第一步是点击团队名称
    然后点击它下面的按钮。在一个版本中,该按钮显示“显示详细信息..”。在我写这篇文章时,按钮显示“下载所有配置文件”。

    另一种方法是双击团队名称。这应该会弹出一些对话框。

    要验证所需的团队是否仍然被选中,您必须退出 Xcode,再次打开它,再次转到 Preferences / Accounts。

    更新 #2:
    在较新版本的 Xcode 中,似乎真正的问题是“自动管理签名”没有做出理想的选择。找到它,将其关闭,然后选择所需的证书。 Sagar Mody's answer 解释更多。


    如果仍然不适合您,但适合其他人,可能值得向他们询问他们在 (1) 浏览器中的会员中心 - 证书、配置文件、(2) Xcode/首选项/帐户中看到的内容的屏幕截图, (3) 为他们的帐户“查看详细信息”。最坏的情况是,要求他们临时更改密码,然后在您的计算机上尝试他们的帐户,验证如果您以他们的身份登录,一切正常。如果您能做到这一点,那么您的帐户设置不正确。尝试在会员中心或那些 Xcode 屏幕截图中找到不同之处。

    【讨论】:

    • 我早就解决了这个问题,但您的回答在技术上是正确的。希望对有同样困境的其他人有所帮助。
    • 此“答案”仅描述问题,不提供解决方案。所以你的第一段描述了我的情况,我该如何解决?如何让我的团队名称而不是我的名字被选中?投反对票。
    • @Fernando - 选择团队名称,单击它,然后单击“下载所有配置文件”链接(在早期版本中,单击“查看详细信息..”链接)。根据 Xcode 版本/更新,可能需要双击团队名称。对我来说,无论我上次访问哪个,下次都会保持活跃。 [也将此更新编辑为答案。]
    • @Fernando - 我已在我的答案中添加了“更新”和“更新 #2”——其中任何一个“提供解决方案”吗?
    【解决方案3】:

    @toolmakersteve 的上述答案在技术上是正确的。

    为了实现我所做的是,禁用“自动管理签名”,然后在签名(调试)/(发布)中选择“合格”捆绑标识符。

    https://develop.apple.com/accounts 下载 XC 的分发配置文件:(合格的捆绑包标识符)。双击它安装到钥匙串访问。

    确保在 Xcode 中的“签名证书”下显示“iPhone Distribution: (Organisation Name)”而不是“iPhone Developer: (Your / Developer Name”

    现在构建和存档,导出对我来说很成功。希望这也能为您解决问题。这真是令人沮丧。

    【讨论】:

    • 注意:如果有人无法让它工作,可能还需要删除钥匙串访问中的旧证书 + 密钥。也就是说,如果仍然无法正常工作,请删除您当前不想使用的帐户或签名。 (一开始我不会这样做)还要确保您尝试使用的帐户没有过时/过期条目!确保 Xcode 只看到你希望它使用的那个。 (如果您关闭了“自动管理签名”并选择了所需的团队/组织,则没有必要,但如果有必要,我将其作为另一个尝试的步骤。)
    • AFAIK,只有在“签名证书”下未显示所需选项时,才需要此答案中的“下载”步骤。因此,首先尝试禁用自动签名,并查看是否可以选择所需的选项。如果不是,则帐户/首选项/双击团队/组织名称和/或单击它,然后单击按钮“下载所有配置文件”。如果仍然没有看到正确的证书作为选择,那么您将不得不手动下载 Sagar 描述的内容。
    • 您在哪里可以找到“自动管理签名”以禁用它?
    • @GreenAsJade - Here is link to an Apple doc 提到“自动管理签名”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 2014-12-30
    • 2015-01-23
    • 1970-01-01
    相关资源
    最近更新 更多