未安装分发证书/私钥

时间:2017-11-13 03:43:41

标签: ios xcode certificate keychain

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

后,我收到以下问题
  

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

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

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

17 个答案:

答案 0 :(得分:165)

第1步: - xcode - >产品 - >档案 - > 单击管理证书 enter image description here

第2步: - 添加ios发行版 enter image description here

答案 1 :(得分:43)

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

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

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

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

答案 2 :(得分:9)

此答案是供“一个人”团队快速解决此问题而无需阅读有关“团队”的太多信息

步骤1)转到网络浏览器,打开您的开发者帐户。转到证书,标识符和配置文件。选择证书/生产。您将在此处看到缺少私钥的证书。单击撤消。并按照说明删除此证书。 enter image description here 步骤2)就是这样!返回Xcode验证您的应用。现在它将要求您生成一个新证书。现在,您可以愉快地上传您的应用了。

答案 3 :(得分:9)

编辑:我认为另一台计算机已经死了所以我正在修复我的答案:

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

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

如果你出于某种原因无法做到这一点,你可以撤销Apple开发者网站上的证书,然后让Xcode为你创建一个新的,它还会创建一个全新的私钥并存储在你的钥匙扣,请务必以您喜欢的方式备份

答案 4 :(得分:5)

添加新的生产证书here,然后下载.cer文件并双击将其添加到钥匙串中。

现在一切都会好起来,别忘了重新启动Xcode !!!

答案 5 :(得分:4)

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

答案 6 :(得分:3)

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

这对我有用。

答案 7 :(得分:3)

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

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

答案 8 :(得分:3)

我尝试了互联网上所有提到的解决方案,但没有解决方案适用于我的 Mac,然后我在苹果开发者网站上根据证书和标识符手动创建了一个配置文件。通过手动导入该文件,应用程序在 appStore 上成功上传,请按照以下步骤操作

在开发者网站上

1-转到此链接 https://developer.apple.com/account/resources/certificates

2- 在配置文件部分使用应用程序包标识符创建新配置文件

3-下载并保存在某个位置

在 Xcode 上

1-转到签名和证书

2-禁用自动管理签名

3- 在其部分中选择配置文件

4- 存档应用

5-Click Distribute App ->ApStore connect ->Upload->Next-> 然后从 XXXX-app 部分选择配置文件,当它显示在这个部分时,现在上传

答案 9 :(得分:3)

点击管理证书->Apple Distribution->完成

答案 10 :(得分:2)

对于经历过此操作的其他人来说,上面的答案都是正确的,但如果你有多个证书,它仍然会有点混乱。这些是我采取的步骤:

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

2)单击每个IOS分配条目的右箭头以显示证书并找到具有正确日期的证书,并通过右键单击和选择导出将其导出。

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

答案 11 :(得分:1)

  1. 转到此链接https://developer.apple.com/account/resources/certificates/list

  2. 在警报上载中找到证书名称,然后

  3. 吊销该证书

  4. 如果您有证书,请重新下载
  5. 再次上传testflight

答案 12 :(得分:1)

如果你被这个问题困住了。切换计算机后,无法将您的构建上传到 App Store。只需单击错误页面上的管理证书,左下角的 + 号并创建一个新的分发证书。然后你就可以走了。

答案 13 :(得分:1)

添加到上述答案中, 如果您对此帐户具有管理员访问权限,请创建新证书并使用它来发布。我就是这样做的,它通过了。

1- 创建新的证书签名请求(KeyChain Access > Certificate Assistant)并保存到磁盘 https://help.apple.com/developer-account/#/devbfa00fef7

2- 登录您的苹果开发者帐户 > 证书和标识符 > 点击 + 添加新证书)

3- 上传您在步骤 1 中创建的签名证书,点击下一步并下载证书

4- 双击证书进行安装。确保它受信任并显示“此证书有效”。

5- 现在再次尝试存档并选择自动签名。

应该可以。

答案 14 :(得分:0)

我在 xCode (v12.4) 中也面临同样的问题,并创建了另外两个分发证书,但对我来说没有任何作用。

enter image description here

解决方案:重新启动 xCode 似乎对我有用。

答案 15 :(得分:0)

我在使用 Xcode v11.3 时遇到了同样的问题

升级到 Xcode 11.6 为我解决了这个问题

答案 16 :(得分:0)

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