未安装分发证书/私钥

Mic*_*hel 69 xcode certificate keychain ios

使用Xcode 9.1,在构建iOS应用程序之后,我想将其存档并将其上传到appStore进行beta测试.但是在单击按钮Upload to the App Store...并选择后,我得到以下问题Automatically manage signing:

"我的名字"有一个iOS分发证书,但未安装其私钥.

我不知道为什么这个"私钥没有安装",但分发证书可能是在另一台计算机上创建的.在任何情况下:

检索丢失的私钥并安装它的最简单方法是什么?为了使事情有效.

Tan*_*iya 208

第1步: - xcode - >产品 - >存档 - >单击管理证书 在此输入图像描述

第2步: - 添加ios发行版 在此输入图像描述

  • 这是最好的答案 (7认同)
  • 当我出现“您已经拥有当前的 IOS 分发证书或挂起的证书请求”时,我该怎么办?谢谢 (3认同)
  • 这是行不通的,因为当我单击加号时没有任何反应。我没有“ iOS发行版”的选择。 (2认同)
  • 如果我通过 Xcode > Preferences > Accounts 访问 Manage Certificates,那么加号是活动的,如上面的第 2 步所示。 (2认同)
  • 哇:-D.为我修好了.要么不可能,要么Xcode不应该打扰你. (2认同)
  • 它对我有用,现在我在不同日期的证书、标识符和配置文件中有 2 个 iOS 发行版。撤销以前的分发证书会影响现有的应用程序吗? (2认同)
  • 当前在Xcode 10.3中Xcode-首选项-帐户-管理证书 (2认同)
  • 为我工作。黑魔法。更新后的文字应该是“Distribution”而不是“Development” (2认同)

mat*_*att 57

您只能拥有一个分发证书.它将Apple公有的公钥与私钥结合在一起,私钥存在于某台计算机的钥匙串中.如果此分发证书是在另一台计算机上创建的,则该私钥位于该计算机的钥匙串上.没有它,这个分发证书不起作用.

因此,要在此计算机上使用此分发证书,您必须找到计算机,打开Keychain Access,找到并导出私钥,将其邮寄或以其他方式将其发送到此计算机,然后将其导入此计算机的钥匙串中.

如果您进入Xcode中的Accounts pref窗格并双击您的团队,您将看到一个对话框,为您提供帮助.如果您看到您的分发证书并且显示Not In Keychain,则可以通过控制单击该证书来获取一个菜单项,该菜单项允许您通过电子邮件向创建证书的人发送电子邮件并要求他们将其发送给您.该人可以使用相同的导入选择导出证书,并可以通过电子邮件发送给您导出的证书

无论哪种方式,私钥或导出的证书都将被密码传递.您需要知道密码才能使用它.

  • 那么,发一封邮件给自己询问我现在问你的问题不太可能有效:) (13认同)
  • 我从我最旧的笔记本中导出了认证,并重新启动了 XCode 以刷新钥匙串的更改 (6认同)
  • 是的!重新启动似乎对我有用。 (5认同)
  • 但我仍然认为你的回答让我走上了正确的轨道,所以我需要深入研究一下。 (2认同)
  • 我需要重新启动 xcode 才能工作 (2认同)

Pau*_*aul 14

这个答案适用于"一个人"团队快速解决这个问题,而无需阅读太多关于"团队"的信息

步骤1)转到Web浏览器,打开您的开发者帐户.转到证书,标识符和配置文件.选择证书/制作.您将看到那里列出的缺少私钥的证书.单击"撤消".并按照说明删除此证书. 在此输入图像描述 第2步)就是这样!回到Xcode验证你的应用程序.它现在会要求您生成新证书.现在,您很乐意上传您的应用.


Mob*_*Mon 11

人们在这里关于从计算机生成密钥的答案是准确的。但是如果仍然失败,请在安装证书后尝试重新启动 Xcode


Yit*_*hak 10

编辑:我以为其他计算机已经死了所以我正在修复我的答案:

您应该使用第一台计算机的私钥导出证书,然后将其导入新计算机.

我更喜欢iCloud方式,备份到iCloud并在新计算机中获取它.

如果由于某种原因你不能这样做,你可以在Apple开发者网站上撤销证书,然后让Xcode为你创建一个新的,它还会创建一个全新的私钥并将其存储在你的钥匙串中,一定要以你喜欢的方式备份它

  • 据我所知,撤销证书时没有什么不好的事情.你知道别的吗? (4认同)
  • 那是可怕的建议。 (2认同)
  • 我以为另一台电脑坏了 (2认同)

Soh*_*que 9

撤销 developer.apple.com 的所有分发证书并在 Xcode 中验证您的应用程序,在您可以导出密钥以供进一步使用后,将可以选择创建新的分发证书。

这对我有用。


小智 6

对于经历过这个问题的任何其他人来说,上面的答案是正确的,但它仍然有点令人困惑,尤其是如果您有多个证书。这些是我采取的步骤:

  1. 首先记下缺少私钥的实际分发证书中的日期。然后转到另一台计算机上的钥匙串应用程序并在搜索栏中键入 iOS。它将显示您所有的 iOS 开发人员和分发密钥,因此您必须找到正确的密钥。

  2. 单击每个 iOS Distribution 条目的右箭头以显示证书并找到具有正确日期的证书并通过右键单击并选择导出来导出该证书。

  3. 然后只需将其导入新计算机的钥匙串中,至少在 Xcode 9.3 中,它会立即识别并纠正错误,以便您现在可以上传您的实现。


Chi*_*toh 5

如果您在新计算机上使用该证书。最简单的方法是撤销与该项目相关的先前证书。然后重新上传到商店。Xcode 将生成一个新的。


fuj*_*471 5

在此处添加新的生产证书,然后下载.cer文件并双击将其添加到Keychain。

现在一切都会好起来,不要忘记重启Xcode !!!


小智 5

在我的情况下,Xcode 没有从钥匙串访问证书,我按照以下步骤操作:

  1. 从钥匙串中删除证书。
  2. 重启mac。
  3. 生成新证书。
  4. 安装新证书。
  5. 清理构建文件夹。
  6. 构建项目。
  7. 再次清理构建文件夹。
  8. 现在存档。它的工作原理就是这样。