您的帐户已拥有有效的开发者ID应用程序证书

时间:2015-11-11 13:38:51

标签: xcode macos code-signing

最近几天,我在Xcode中使用代码签署我的cocoa应用程序时遇到了困难。我已经阅读了所有看似相关的类似主题,但没有任何帮助。

每当我尝试导出我的存档时,都会收到以下错误消息:

enter image description here

我试图删除我的钥匙串中的所有内容以及我允许在会员中心删除/撤销的所有个人资料/证书。但是,我仍然得到相同的错误,没有“修复”或“重置”按钮。为了让我的应用程序签名以便在商店外发布,我该如何处理?

9 个答案:

答案 0 :(得分:23)

转到首选项 - >帐户,选择您的帐户,点击"查看详细信息"在右下角和对话框中,单击左下角的全部下载。

另外,请查看fastlane.tools。它是一组很棒的工具,除其他外,它能够处理代码签名问题。调用certsigh有时足以处理许多与代码签名相关的问题。 Preferences Dialog

答案 1 :(得分:11)

我在不同的Mac上安装了我的开发者ID应用程序证书,并且当我尝试在“新”Mac上使用该证书时出现与问题相同的错误。

这为我解决了这个问题:

我还有其他Mac,所以我再次导出了开发者帐户:

  1. 转到XCode |偏好|帐户
  2. 点击加号和减号
  3. 旁边左下角的“cog”
  4. 点击“导出开发者帐户”
  5. 将导出的文件保存在其他Mac可以访问的位置
  6. 然后,在我的“新”Mac上:

    1. 转到XCode |偏好|帐户
    2. 选择代表我的开发证书的Apple ID
    3. 点击左下角的减号以删除该帐户
    4. 退出XCode
    5. 打开钥匙链访问
    6. 删除所有开发者证书
    7. 关闭钥匙串访问
    8. 转到XCode |偏好|帐户
    9. 点击加号和减号
    10. 旁边左下角的“cog”
    11. 点击“导入开发者帐户”
    12. 选择上方“旧”Mac导出的文件并导入

答案 2 :(得分:6)

我遇到了同样的问题。

该错误似乎告诉您已在您的开发者帐户下创建了有效的开发者ID证书,但它们目前不在您的Mac上,因此无法使用它们。

解决方案是从网上下载开发者ID证书。但是,您可能没有用于签署这些证书的私钥。所以在这一点上它们是无用的。

在我的情况下,进一步的问题是我的帐户中已经有5个开发者ID证书。我不太确定它们来自哪里。它们是在几年前创建的,也许是在我尝试创建Mac App Store证书时?或者也许点击该死的Fix Issue按钮......

默认情况下,每个开发者帐户似乎有<5个开发者ID证书的限制。

开发者ID证书现在通过Xcode而不是通过会员中心创建:

Can't create certs online

但是,在Xcode中,不再有“创建”新证书的按钮。唯一的按钮是“重置”。这个按钮只是将我链接到我的网络浏览器中的会员中心,所以完全没用......

Create certs via Xcode

通过会员中心,您可以撤销开发者ID证书 ,就像您使用iOS或Mac App Store证书一样。 “撤消”按钮显示为灰色。

Revoke grayed out

  

您无法使用会员中心撤消开发者ID或传递类型ID证书。而是通过product-security@apple.com向Apple发送请求以撤销这些类型的证书。

Apple只会在安全情况下撤销这些证书,以禁止在所有客户端计算机上安装该应用程序。我已经尝试通过电子邮件发送上述地址,他们告诉我他们无法撤销证书。

然后,解决方案是在您的帐户中添加额外的开发者ID证书插槽,超过5的限制。

产品安全告诉我,而不是撤销证书,

  

我们建议您通过https://developer.apple.com/support/与Apple Developer Connection联系,以解决您遇到的问题。

我现在已联系开发人员支持。我建议打电话。他们目前正在我的开发帐户中设置新的开发者ID插槽。

当您创建实际使用的新开发者ID证书时,请务必备份证书和私钥,以便将来不会遇到此问题。

编辑:

我相信,我等了一个多月没有回应。我碰巧有一张Apple TV Tech Talk的票,并在他们的实验室与一位Apple代表交谈。他能够在大约5分钟内重置我的开发者身份证书限制。所以这是可能的,但是为了加快这个过程,我会尝试亲自或通过电话与Apple的开发者布道者进行交谈。

答案 3 :(得分:2)

一个问题可能是您的开发人员证书缺少私钥。使用Keychain Access找到您的开发人员证书并验证它旁边有一个小三角形。单击三角形以显示私钥。

如果不存在,您需要从Mac创建证书中恢复此私钥。

否则,从Apple Developer网站删除证书,然后创建一个新证书。

答案 4 :(得分:1)

这里的问题相同,但我在Xcode 8上使用“自动管理设置”。由于特殊原因,我的开发者帐户中有两个分发证书。

Xcode似乎自动选择了最新的,我没有在我的Mac上安装它。所以我通过手动创建我的应用程序ID和我的配置文件(使用相应的证书)来切换到旧的方式,它可以工作:)

答案 5 :(得分:0)

我有类似的问题。我发现我的配置文件无效,因为我已经更新了iOS Developer证书。 PP再生后,一切都按预期工作。

答案 6 :(得分:0)

我遇到了同样的问题,我终于修好了。有一些提示:

    Xcode中的
  1. - &gt;偏好 - &gt;帐户,单击按钮查看详细信息,然后 单击按钮下载所有配置文件

  2. 在钥匙串访问中
  3. ,检查证书是否存在。如果没有,请选择 文件 - &gt;导入项目,然后选择您下载的.cer文件     来自开发者网站

  4. 希望它有所帮助。

答案 7 :(得分:0)

在Xcode版本8.3.3上,转到首选项 - &gt;帐户 - &gt;管理证书 - &gt;然后在下拉菜单上单击(+) - &gt;单击iOS开发。对iOS App Store也这样做 - &gt;完成 - &gt;下载所有个人资料。

答案 8 :(得分:-1)

如果您更改了计算机从旧Mac导出开发人员帐户,然后导入到新mac解决了问题