Xcode“此Mac上未安装的私钥-分发”


99

当我尝试将我的应用提交到应用商店时,我总是收到此消息。

这是消息的图片:

图片

如果有人可以帮助我解决该问题,这样我可以将我的应用提交到商店,那就太好了。

Answers:


90

请尝试执行以下步骤:

  1. 从iOS开发者网站吊销您现有的iOS发行证书。
  2. 转到XCode首选项->帐户->查看详细信息,然后单击签名身份列表下方的+,以生成新的iOS分发证书。
  3. 返回开发者网站,并确保所有配置文件都配置了新证书。(完成后,它们都应列为“活动”。)
  4. 返回XCode并刷新您的配置文件列表。

我遇到了与您相同的问题,此问题就解决了。


谢谢您,您的解决方案可以节省我的时间(我从4小时起就咒骂Apple)。
JJ86 2014年

我遇到了同样的问题,上面建议的步骤解决了这个问题,但是在验证应用程序时我遇到了另一个问题“捆绑包是无效的新应用程序,并且提交给应用商店的更新必须是公开的”,任何人都可以提供帮助这个?
2014年

大量的人已经问这个问题:stackoverflow.com/...
奔Visness

@Fabian Boulegue我认为投票表明这是最好的答案。如果您可以将此标记为已接受,那就太好了:)
Ben Visness

这应该标记为答案。像魅力一样工作
batgun '17

50

这为我解决了它,而没有从头开始:
1.在用于生成私钥的计算机上打开Keychain Access。2
.在左侧选择Keychains-> Login and Category-> Certificates。3
.找到两个证书iPhone开发人员:[您的开发人员名称]和iPhone发行版:[您的开发人员名称]
4.两者都选择,右键单击并选择“导出2个项目...”
。5.输入选择的密码,保存到磁盘并获得.p12 -file移到另一台不会签名的计算机上
。6.打开文件,输入密码,您应该一切顺利。


8
如果我不再有权访问生成私钥的机器怎么办?
aaronsnoswell

2
@aaronsnoswell您必须为当前正在使用的计算机生成新密钥
Nik

然后,您必须生成一个新的。
HelloWorld

将私钥导入我的钥匙串后,它仍然对我不起作用。但是,通过简单的重新启动就可以工作...;)
fredpi '19

7.重新启动计算机。除非重新启动,否则好像在钥匙串中看不到新的私钥。我认为那是因为您要将其添加到必须在登录时加载的登录钥匙串中?
TenaciousJay

15

在经历了几天的测试,检查,尝试修复等问题后,遇到类似的问题,对我有用的只是:

  1. 打开Xcode的首选项(“帐户”面板)
  2. 点击“管理证书”。
  3. 添加新证书。

然后,一切再次开始工作。

在此处输入图片说明


12

我也经历了这一点,并为整个过程奋战了4个小时。最后我做了以下

  1. 删除了我的钥匙串访问中的所有私钥和公钥以及证书
  2. 删除所有配置文件
  3. 删除了所有的AppID-(可能不需要;因为我想要一个干净的石板,所以不需要这样做)
  4. 在Developer.Apple网站上删除了我的认证
  5. 创建了新的通配符开发配置文件
  6. 为我正在部署的应用程序创建了新的配置文件SPECIFIC(因此,它在AppID中使用appname而不是*)
  7. 从网站创建了新的开发证书。
  8. 下载了中间证书(全球开发者关系证书颁发机构),因为我也从钥匙串中删除了该证书
  9. 创建了证书签名请求(CSR),按照信函中的说明将其添加到我的钥匙串访问中。并上传了CSR。
  10. 添加认证后,我确保重命名公共密钥和私有密钥,并在信息框中添加注释-这样我就可以记住我所做的事情。
  11. 通过对分发重复步骤7、9、10,创建一个新的分发证书,以便可以将其添加到App Store中。

希望这可以帮助某人知道您可以清除所有内容并重新开始。我将所有证书加载到了上周开始出现问题的olf Macbook Pro上。所以上周我买了一台新的Mac Air,但是我不记得要用什么键,我当然不记得我有2套私有和公共套件用于开发,还有1套用于发行版。(如果您有超过1个分布,我相信您将有更多的分布。)

史蒂夫


我记得在XCode 4中成功地进行了此操作。您知道如何在XCode 5中删除所有供应配置文件(步骤2)吗?
Danny

1
在任何人执行“删除”步骤1-4之前,建议您尝试通过KeychainAccess导出证书,如以下注释之一所述,然后将其导入目标计算机。
andrewz 2013年

4
什么解决方案。我也应该买一台新笔记本电脑吗?
突破线

5

遇到同样的问题,在对苹果公司骂了之后,我意识到这是我的错。

1.- Go to developer.apple.com / Certificates / Production
2.- Download your certificate

尝试其他答案后,这对我有用。


下载证书并将其添加到钥匙串访问中。但是没有用。
famfamfam

4

值得检查“钥匙串访问”以确保您没有多个具有相同名称的钥匙。另外,在遇到代码签名问题时,斋戒解决方案通常是重新开始该过程(创建新的密钥对,证书和置备配置文件)。

祝你好运!


4

转到首选项->帐户->选择您正在使用的Apple ID->单击“查看详细信息...”按钮->然后单击加号按钮并选择“ iOS Distribution”按钮。更多细节在这里


3

看来您已经生成了发行证书,因此您必须在某个时候生成了密钥对。您是否在多台机器上进行开发?从具有配置文件的计算机上导出开发者配置文件,并将其导入到该计算机中。


我相信您也可以从prov下载。门户网站
El Guapo,2012年

好吧,通常我只是从那台计算机上进行开发...好吧,我还获得了我的开发人员和发行商证书,也许还有其他东西吗?就像这里的信息是我的个人资料的屏幕截图一样…… dl.dropbox.com
u/

6
不可以,您不能从供应门户下载私钥。是私人的 你不给苹果。
吉姆(Jim)

2
该证书是Apple提供给您的文件,上面写着“是的,此私钥已被Apple批准”。密钥本身是独立的。您在那台计算机上没有密钥,否则它旁边将有一个显示箭头。您必须在某个时候拥有该密钥才能使证书存在。如果您不使用其他计算机,并且您没有将其安装在计算机上的其他帐户中,则必须删除它。
吉姆(Jim)

2
如果您没有私钥并且无法从备份中还原它,则必须生成一个新的密钥对,为其生成CSR,将CSR上载到Apple,下载Apple生成的新证书作为响应,创建一个新的分发配置概要文件,然后使用该概要文件来构建您的应用程序。基本上,请按照Apple一开始提供的设置说明进行操作。
吉姆(Jim)

2

很简单,登录到用于创建分发证书的用户帐户(可能在其他Mac上)。打开“钥匙串访问”并导出其私钥。然后将其安装到您的钥匙串。


2

我的问题是Xcode不在私钥的访问控制列表中。您可以在钥匙串访问中解决此问题,而无需生成新的密钥对。

打开钥匙串访问。在左侧选择“登录”和“我的证书”。选择您的分发证书,然后双击您的私钥。选择访问控制,然后将Xcode添加到列表(如果不在列表中)。

重新启动Xcode并制作一个新的存档。它现在应该找到私钥。


1

我实际上只是关闭并重新打开了xCode,然后一切恢复正常。


0

我有解决方案:

您的公司有一个Company(Enterprise Distribution).pem和CompanyEnterpriseDistribution.p12,您也必须安装它们。


0

我在苹果公司有公司帐户。我通过以下方法解决了问题:

1)在开发人员网站的证书,标识符和配置文件中
2)在配置文件->开发下
3)进入我的开发配置->编辑
4)然后下载,然后双击。


0

试试这个..

  • 在“系统偏好设置”中,选择“安全性和隐私”。

  • 单击左下角的“锁定”图标。

  • 将“允许从以下位置下载的应用程序”从“任何地方”更改为“ Mac App Store和确定的开发人员”。

-然后尝试建立。


0

对于在一段时间后尝试更新应用程序的用户,您需要在Apple Development Center中更新您的Porvisioning配置文件,然后只需转到Apple Development Center左侧的证书,下载发行证书并打开它。

Xcode将完成其余工作,并让您运行该应用程序。

干杯!



0

这为我解决了它,而没有从头开始:

  1. 通过其他Macbook重新生成文件“ CertificateSigningRequest.certSigningRequest”。
  2. 重新生成证书“ *网格信息技术有限公司”
  3. 重新生成配置文件

0

我正在为我的Beta iOS应用程序构建和分发开发ipa。我一再不得不将新设备添加到允许的设备列表中,并且由此造成了许多麻烦。这次我正在记录和共享这样的问题以及解决方案...

我在开发人员中心的列表中添加了一个新的被调查对象,并建立了一个存档,并发现在ipa内嵌的配置文件中找不到ipa。因此,我在XCode中刷新了配置文件(以获取更新的列表),并且此错误是由于缺少私钥引起的(如本线程开头所述)。

然后,我无法建立另一个存档。此外,在尝试构建项目时,这会创建代码签名错误。

经过很多痛苦,我像这样修复它:

在XCode中,转到“偏好设置...帐户”标签。单击添加按钮(左中),然后选择“ iOS开发”。这将创建一个新的签名身份。

现在,您应该能够使用新的配置文件来创建档案。

另外,应该修复构建错误。返回项目的“常规”选项卡,选择“团队”,然后重试构建。可能会有一些其他权限对话框。出现提示时,单击“修复”或“始终允许”。

注意:“会员中心”和“钥匙链”列表将变得一团糟,带有重复的ID签名,但至少一切正常。您可能要尝试清理它...


0

我创建了一个新的分发证书,然后编辑我现有的配置文件以指向该新证书,然后在Xcode>首选项>帐户>查看详细信息中更新了我的签名证书。

像魅力一样运作


0

我有另一个答案(除了我以前的帖子)。今天,我的私钥已过期(就像我在寻找KeyChain Access一样),列表中有一个新的私钥。怎么样?Idk ...也许是通过使用出现给我的XCode“解决问题”按钮,还是像我在其他帖子中所描述的那样通过调配配置文件的更新来自动创建一个新的?

无论如何,我登录了开发中心,找到了我想使用的配置文件,然后单击“编辑”。然后,我可以选择“证书”。我发现没有选择一个通缉犯。我选择了它,然后单击“生成”以重新创建配置文件。然后我就可以下载了。我将文件拖放到XCode停靠图标上。修好了!


-2

之所以会发生这种情况,是因为您格式化了Mac并重新安装了它,或者您是从新Mac开发的。

如果您不能执行上述操作,并从旧Mac导出旧证书和配置文件

您将需要从Apple开发人员中心删除通配符提供配置文件,还需要从证书中删除旧的通行证配置文件,而仅删除常规的开发和生产证书。

那么您将必须创建新的应用程序,并为需要上传到Apple的应用程序创建新的配置文件。

您现在不需要删除所有Provisiong配置文件,但是可以肯定的是,您将需要为未为其创建的应用程序创建新的配置文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.