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

40

最近几天我在Xcode中尝试对我的Cocoa应用进行代码签名时遇到了困难。我已经阅读了所有看起来相关的类似话题,但没有任何帮助。

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

输入图像描述

我尝试删除我的钥匙串中的所有内容以及在成员中心中允许删除/撤销的所有配置文件/证书。然而,我仍然得到相同的错误信息,没有“修复”或“重置”按钮。为了使我的应用程序能够在应用商店之外分发,我该怎么做?


1
我也遇到了同样的问题。你有没有向苹果提交支持请求或雷达反馈? - pkamb
不,我使用了之前备份中的旧开发者配置文件导出,这个方法有效。抱歉。 - NeoID
9个回答

23

前往“偏好设置” -> “账户”,选择您的账户,点击右下角的“查看详细信息”,在对话框中点击左下角的“全部下载”。

此外,请查看fastlane.tools。这是一套非常好的工具集,可以处理代码签名问题。有时候只需调用certsigh就足以解决许多与代码签名相关的问题。 偏好设置 对话框


1
我曾经遇到过这个问题,使用“全部下载”功能后问题得以解决。谢谢! - spinalwrap
@user2357250,不客气 :) 我也会定期遇到这个问题 :) - FreeNickname
1
@FreeNickname 应该将 fastlane.io 改为 fastlane.tools 吗? - Kyle
很遗憾,“全部下载”按钮对我来说没有解决问题。还有其他的问题。 - Simon East

11

我曾经将我的开发者ID应用程序证书安装在另一台Mac上,当我尝试在“新”Mac上使用该证书时出现与问题中相同的错误。

以下步骤解决了我的问题:

我仍然拥有另一台Mac,因此我再次从那台Mac导出开发者帐户:

  1. 打开XCode | 首选项| 帐户
  2. 单击左下角加号和减号旁边的“齿轮”图标
  3. 单击“导出开发者帐户”
  4. 将导出文件保存在可访问的位置

然后,在我的“新”Mac上执行以下步骤:

  1. 打开XCode | 首选项| 帐户
  2. 选择代表我的开发证书的Apple ID
  3. 单击左下角的减号以删除该帐户
  4. 退出XCode
  5. 打开密钥串访问
  6. 删除所有开发人员证书
  7. 关闭密钥串访问
  8. 返回XCode | 首选项| 帐户
  9. 单击左下角加号和减号旁边的“齿轮”图标
  10. 单击“导入开发者帐户”
  11. 选择上面在“旧”Mac上导出的文件并导入

3
这是要做的正确事情。这些错误的根本原因是您的 Mac 没有证书的私钥。如果您按照以下步骤操作,它将在一个文件中传输所有必需品(私钥、证书、配置文件等),您可以导入该文件。您必须从 Keychain Access 中删除任何旧的无效证书,这是我错过的关键步骤,一直让我困扰不已。 - Ted
1
这也是我问题的完美解决方案。我刚买了一台新机器,遇到了很多问题。这个解决了它...谢谢。 - Chris

6

我遇到了同样的问题。

这个错误似乎是在告诉你,在你的开发者账户下已经创建了有效的开发者ID证书,但它们目前没有在你的Mac上,因此无法使用。

解决方法是从网上下载开发者ID证书。然而,你很可能没有用于签署这些证书的私钥。所以此时它们相当无用。

在我的情况下,进一步的问题是我已经在我的账户中拥有了5个开发者ID证书。我不太确定这些是从哪里来的。也许是几年前我尝试创建Mac应用商店证书时创建的?或者是通过点击那个该死的 Fix Issue 按钮...

默认情况下,每个开发者账户最多可以拥有5个开发者ID证书。

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

Can't create certs online

然而在Xcode中,不再有“创建”新证书的按钮。唯一的按钮是“重置”。这个按钮只是将我链接回到我的Web浏览器中的成员中心,所以完全无用...

Create certs via Xcode

通过会员中心,开发者 ID 证书无法像 iOS 或 Mac App Store 证书一样被吊销。"吊销"按钮是灰色的。

Revoke grayed out

您无法在会员中心撤销开发者ID或通行证类型ID证书。相反,发送请求至product-security@apple.com,请求撤销此类证书。

Apple仅在安全方面或禁用应用程序在所有客户端机器上的安装时撤销这些证书。我已尝试通过以上电子邮件地址发送电子邮件,但他们告诉我他们无法撤销证书。

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

产品安全告诉我,与其撤销证书,

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

我现在已经联系了开发者支持。我建议打电话。他们目前正在为我的开发帐户设置新的开发者ID槽位。

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

编辑:

我等了一个多月,没有收到回复。碰巧我有一张Apple TV Tech Talk的门票,并在他们的实验室与苹果代表交谈。他能够在约5分钟内重置我的开发者ID证书限制。因此这是可能的,但为了加快进程,我建议尝试与苹果的开发者传道人面对面或通过电话交流。

1
这个过程对我很有用,因为我的私钥在硬盘擦除时丢失了,情况略有不同。谢谢! - John Walthour

2

可能的问题是您的开发者证书缺少私钥。使用钥匙串访问工具查找您的开发者证书,并验证其旁边是否有一个小三角形。单击三角形以显示私钥。

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

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


1
这就是我一直在努力做的事情,但它并没有解决问题。 登录会员中心后,我发现有7个证书,由于某种原因我无法撤销。 因此,我创建了一个新的“Production->Developer ID”,但在下一个屏幕上,“Developer ID Application”由于某种原因被灰显。 我已经多次尝试让Xcode解决该问题,但都没有成功。在我的构建设置中,我正在使用“Developer ID”,并将“Team”设置为我的公司名称。 删除所有内容后,通用选项卡上显示“没有有效的签名标识......修复问题”。 进行新的导出时,我仍然会收到相同的错误消息。 - NeoID
请发屏幕截图。你只有“成员”访问权限吗? - bbarnhart
不,我有管理员权限。没有太多可以展示的。在“Mac开发”下我有7个证书,所有这些证书都有一个灰色的“撤销”按钮。通常我会让Xcode处理所有这些...然而,我设法找到另一台闲置的Mac电脑,里面有我的旧开发者档案。导出和导入似乎解决了这个问题。尽管这可能对下一个搜索此问题的人没有帮助。 - NeoID
如果您只是成员,您需要创建一个证书签名请求,并且您的团队管理员需要批准它。这就是为什么 Xcode 不能自动为您修复此问题的原因。 - bbarnhart

1
同样的问题出现在我这里,但我在Xcode 8中使用了“自动管理设置”。由于某种特殊原因,在我的开发者帐户中有两个分发证书。
Xcode似乎会自动选择最近的证书,而我没有将其安装在我的Mac上。因此,我通过手动创建应用程序ID和配置文件(使用适当的证书)来切换到旧的方式,并且它可以工作 :)

0

我也遇到了同样的问题,最终解决了。以下是一些提示:

  1. 在 Xcode -> 首选项 -> 帐户 中,点击“查看详细信息”按钮,然后 点击“下载所有配置文件”按钮

  2. 在钥匙串访问中,检查证书是否存在。如果不存在,请选择 文件->导入项目,然后选择你从开发者网站下载的 .cer 文件

希望能对你有所帮助。


0

我曾经遇到过类似的问题。后来发现我的配置文件因为更新了iOS开发者证书而无效了。重新生成配置文件之后,一切都正常了。


0
在 Xcode 8.3.3 版本中,前往“偏好设置”->“账户”->“管理证书”->然后点击 (+) -> 在下拉菜单中选择 iOS 开发。对于 iOS 应用商店也是同样的步骤 -> 完成 -> 下载所有配置文件。

-1

如果您更换了电脑,将开发者账户从旧电脑导出并导入新电脑可以解决该问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接