收到“在您的钥匙串中找不到与此配置文件匹配的有效签名身份”警告

40

我希望在iPod Touch上测试我的应用程序。

我创建了开发者预配文件。

我将下载的.mobileprovision文件拖到组织者中。

出现了一个黄色三角形警告:

"在您的钥匙串中找不到与此配置文件匹配的有效签名身份验证"。

其他发布预配文件没有任何问题。

我检查了连接的iPod Touch。 组织者还说:

“interdev”的iPod上已安装操作系统3.1.3(7E18)

Xcode支持的iPhone OS版本

  • 3.1.1(7C146)
  • 3.1.1(7C145)
  • 3.1(7C144)
  • 3.0.1(7A400)
  • 3.0
  • 2.2.1
  • 2.2
  • 2.1.1
  • 2.1
  • 2.0.2(5C1)
  • 2.0.1(5B108)
  • 2.0(5A347)
  • 2.0(5A345)

iOS 3.1.3

Xcode 3.1

我需要升级Xcode吗?


我在这里解决了我的问题。查看此问题的答案 - Felipe Conde
9个回答

140

好的,我曾经遇到过这个问题,并在互联网上搜寻了很久,希望能找到清晰明了的解决方案。

我知道这是一个老话题,但我将为那些在看似无望的搜索中偶然发现这篇文章的人提供帮助。

  1. 我确信还有其他方法来解决这个问题,但老实说,除非你正在处理大量应用程序并且感到太懒惰重新分配新证书,否则就只需按照以下步骤进行操作!

  2. 我对于apple.com上的开发者中心和xcode都很陌生,因此我会尽可能详细地写出这篇文章。

显而易见:

在开始前,请阅读所有说明!有一些棘手的问题需要注意!如果您没有先阅读所有内容就开始操作,我已经尽量让它们显而易见,但为了安全起见,请先阅读所有内容。

您需要拥有付费的开发者账户才能通过Xcode将任何内容放到您的iPhone / iPod / iPad上。

首先,去应用程序文件夹打开密钥链访问。

请注意,您可以点击左上角的“登录”和“系统”字样。这对后面的一个步骤非常重要,以及接下来的几个步骤也是如此。如果它们被锁定了,您需要解锁它们,以便可以修改每个内容。

在登录和系统中找到您的证书(所有证书,全球开发者证书、开发者证书和可能与之关联的同名证书)

删除它们。

如果您试图删除它们,但它们仍然在列表中,那么您只需要重新启动计算机并再次尝试删除即可。这是我寻找解决方案时最让人烦恼的部分,所以珍惜这个信息。如果出现此问题,重新启动将解决该问题。

一旦这些证书的所有痕迹都从列表中消失:

摆脱与这些证书相关联的密钥。它们可能附有您的姓名,您可以通过在关键链访问窗口底部单击“密钥”并查看登录或系统列表来找到它们。彻底删除它们。请记住,如果您按下并确认删除后它们仍未从列表中消失,请重新启动,然后它会起作用。

如果您在另一台机器上工作没有问题,然后切换到新机器,一切都变得混乱,那么将没有要删除的密钥。这就是问题所在。不要担心!我们将一起创建新密钥,并且我们应该会很快乐!

使用 Safari

使用 Safari

使用 Safari

(使用Safari很重要,因为在尝试上传您的证书请求时,否则会出现不必要的错误。这是我尝试了多次发送Chrome提交后保存所有头发的一小段信息。)

进入developer.apple.com,登录,然后转到dev center的ios部分。

在屏幕右侧转到ios provisioning portal。

点击证书,撤销当前(有问题的)证书。

点击屏幕左侧的主页。

在屏幕底部的“使用开发预配助手将您的应用程序放在iOS上”标题下面点击“启动助手”按钮。

按照所有的方向进行操作。

它会告诉您打开您的应用程序文件夹并打开密钥链助手。

在您的屏幕顶部(在关键链访问窗口处活动时,嘿,我说过我会让初学者轻松)单击“Keychain Access”旁边的字。

点击证书助手

点击从证书颁发机构请求证书。

填写您的信息,然后单击保存到磁盘。然后继续。

按照以下步骤创建请求文件并将其保存到桌面(这是默认设置,所以您可能只需要点击“好”)

返回SAFARI窗口,它会要求您选择证书请求文件。

从桌面选择它,并通过助手继续操作,直到完成为止。

在创建证书请求时,已创建了必要的公钥和私钥。因此,您现在拥有密钥!太棒了!

下一步是下载WWDR中间证书和新创建的开发证书。

这两者都可以在屏幕左侧的“证书”选项卡中找到。 WWDR在“开发证书列表”下显示为链接。

下载它们,不要单击它们进行自动安装!!!!!!!!!!!!

这就是您会陷入麻烦并认为 “我做得很对!我按照您要求的做了,但仍然无法正常工作!” 的地方。

这是诀窍。最后一个问题。

打开您的下载文件夹并找到已下载的文件。

打开Keychan Access(如果关闭了),查找在制作证书请求时创建的密钥。它们将位于登录或系统列表中。如有必要,请勿忘记解锁列表。

将下载的证书拖放到密钥所在的列表中!

如果您将它们拖放到其他列表中,则密钥将不知道您这样做了,它们将永远孤独,并且您会感到胸口紧缩和未知的愤怒从肚子里涌出。

如果您将它们放入包含键的列表中,则将在刚刚放入的 iPhone 开发人员证书左侧看到一个小下拉箭头。单击它,感受键与其失散已久的朋友重逢的美好。

就是这样!

现在,当您通过 iOS 门户制作新的移动配置文件并在其中链接您新创建的证书时,Xcode 中一切都将正常。


30
感谢有用的指导和滑稽程度的沮丧,点赞。 - Nick
5
请找到您的证书(所有证书,包括全球开发者证书、开发者证书以及可能与之关联的同名证书),在登录和系统中删除这些混蛋。(“混蛋”指的是证书) - Sid
1
在这里,在这里,Simon... 你太棒了!这值得检查! - Ben
1
哇,非常感谢!我花了一周的时间来解决这个问题。我尝试了所有的方法,和任何人交流都说我做得没问题。如果可以的话,我愿意加1000分。 - Phill Pafford
根据您的指导,旧版苹果开发者网站是可以的。但现在apple.developer.com已经更改了。 - Gajendra K Chauhan
显示剩余5条评论

8

我曾经遇到类似的问题,并在 XCode Organizer 中轻松解决了它 - 我正在使用 4 版本。我所做的就是进入顶部的 Library 部分,选择 Provisioning Profiles,然后导入我在 Safari 下载中收到的名为 "name.mobileprovision" 的配置文件。


1
很抱歉给你点了个踩 -- 不知怎么的,我不小心点错了,但现在已经来不及改了... - Nathan S.
难过的表情 :( 不用担心! - James K
这是我在Lion进行干净安装并将密钥/证书导入登录钥匙串后需要的最后一步。 这对我有效,但让我澄清Wonderboy的回答,因为当我第一次阅读他的答案时,我说:“好的,在哪里以及如何导入配置文件”。1)打开Xcode的组织者(从Xcode的菜单窗口->组织者)。 2)在组织者窗口中,在左上角的“库”下选择“预配配置文件”。 3)在底部,单击“刷新”按钮,在提示时登录并等待配置文件下载。 - mmorris

6

听起来你在钥匙串中没有与你的配置文件之一相匹配的开发证书。

dev portal screenshot

请确保您拥有开发证书并具有相匹配的预配文件。此外,如果您的应用程序正在使用钥匙串,请确保在项目中包含一个Entitlements.plist(包含您的应用程序ID,以便您的应用程序可以共享钥匙串的“切片”)。


4
每次创建新的配置文件时,您需要重新安装开发证书。 - warrenm

4
我收到了同样可恶的消息。似乎每次我的配置文件过期时都会发生这种情况。刚刚又发生了; 我点击“续订”,下载了新的配置文件,在Xcode中安装它们,然后又出现了那个消息。
于是我在门户网站上点击了配置文件旁边的“编辑”,然后选择“修改”,在结果屏幕上,我的名字旁边的复选框 -- 用于选择证书 -- 没有被选中!所以我选中了该框,点击提交,当新的配置文件变为可用后,在Xcode中安装了它。真是太好了,可恶的东西竟然可以工作了。
我永远不知道那个框怎么就被取消了,但现在至少我知道该怎么做了。

1
是的,它突然被取消勾选了。 - Allisone
这是在我更新了一个配置文件之后发生的。我按照这里的指示操作,但发现我的名字被勾选了。尽管如此,在Safari中下载了该配置文件,然后在Safari下载列表中双击它,一切都很好。同时可以参考@Wonderboy的回答。 - brainjam

2

1

我曾经在XCode 4上安装了一个可行的iPad配置文件,然后添加了一个iPhone,但是新下载的配置文件不能用于任何设备。检查密钥链中的证书和链接对我没有帮助。

事实证明,在重新添加我的证书并尝试关闭和重新打开xcode之后,我需要重启才能将配置文件重新添加到xcode并使其正常工作。也许有些潜在问题需要刷新RAM中密钥链缓存的值?

只需注销并重新登录可能也可以解决问题。


0
另一个原因是在“选择应用程序记录和要使用的配置文件”屏幕上选择错误的应用程序。如果您有多个名称相似的应用程序,并且不小心选择了一个与存档构建中使用的配置文件不匹配的应用程序,则可能会很容易地发生这种情况。

0

我发现这个问题的另一个原因可能是您没有正确创建分发证书。我忽略了Xcode给出的消息,说它会为我生成一个证书,但在重新启动并让它生成一个证书后,问题就解决了。


0

如果您确定您的密钥/对和配置文件已正确安装,但仍然遇到臭名昭著的错误,那么这个简单的解决方案对我有效(为了保险起见,请先清理您的目标)。

进入构建设置并找到代码签名区域。如果尚未选择,请在顶部的“自动配置文件选择器”部分中选择配置文件类型。如果已经存在,请尝试在直接选择和自动配置文件选择器之间切换。

对我有用!


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