Xcode - iPhone - 配置文件与默认钥匙串中的任何有效证书/私钥对不匹配
Posted
技术标签:
【中文标题】Xcode - iPhone - 配置文件与默认钥匙串中的任何有效证书/私钥对不匹配【英文标题】:Xcode - iPhone - profile doesn't match any valid certificate-/private-key pair in the default keychain 【发布时间】:2011-07-20 11:48:36 【问题描述】:我尝试将我的 iPhone 添加到 Xcode4 以在其上测试我的应用程序。我在 Apple Developer-Center 中添加了设备并下载了 Provision-Profile。我们每月为该帐户支付 99 美元,我不是唯一使用此帐户的人。因此,已经存在一个“较旧”的证书,我试图将其添加到我的钥匙串管理器中。但我看到上面有一个红色文本(从德语翻译)“此证书已由未知实例签名。”。
在我的 XCode-Device Manager 中的 Provisioning-Section 中也有一个错误:“XCode 在您的钥匙串中找不到此配置文件的有效私钥/证书对。”
我真的不明白我现在要做什么。这些钥匙可能真的不存在于我的钥匙串中,我找不到它们。那么如果 Apple Dev-Center 中已经有一个证书,那么我必须如何创建它们以及如何使用它们?
【问题讨论】:
我发现这个链接非常适合我。按照此链接,描述创建临时配置文件和证书的某些步骤http://mobiforge.com/developing/story/deploying-iphone-apps-real-devices 这是我个人的救星。这些证书让我把头发拔了出来。 ***.com/questions/2714517/…(Simon Alexander 的较长解释) 【参考方案1】:要在 Apple 配置文件网站上生成证书,首先您必须在 Mac 上生成密钥,然后上传公钥。 Apple 将使用此密钥生成您的证书。当您下载证书时,您需要拥有私钥才能使用它们。
错误“XCode 在您的钥匙串中找不到此配置文件的有效私钥/证书对。”表示您没有私钥。
可能是因为您的 Mac 已重新安装,也可能是因为此密钥是在另一台 Mac 上生成的。因此,为了能够使用您的证书,您需要找到此密钥并将其安装在钥匙串上。
如果您找不到它,您可以生成新密钥,在配置文件网站上重新启动此过程并获得您可以使用的新证书。
【讨论】:
其他开发者可能能够导出私钥并将其复制到您的机器上。或者按照这里的建议,您可以生成自己的开发私钥、证书和配置文件。 嗯,我创建了自己的配置文件并添加了设备。但我不知道如何创建私钥以使其被证书接受。 如何生成我的密钥对?公共和私人? 这里解释了一切:developer.apple.com/ios/manage/distribution/index.action【参考方案2】:我的问题是我的 Target 配置文件没有选择正确的代码签名选项:
目标菜单 -> 代码签名 -> 代码签名身份
选择“iPhone 开发者”,然后选择您创建的临时配置文件。
【讨论】:
【参考方案3】:我也遇到过类似的情况:多个开发者使用同一个私钥,但升级到 Lion 后我再也找不到我的了。非常简单的解决方法是从另一台机器导出特定证书(在我的情况下是开发证书)的私钥,将其移动到我的计算机并将其拖到那里的钥匙串访问中。 Xcode 立即拿起它,我很高兴。
【讨论】:
【参考方案4】:您的 Apple 开发者证书可能已过期,或者您的系统日期大于您的帐户过期日期
【讨论】:
【参考方案5】:如果您尝试在其上运行的设备具有您正在使用的某个旧版本的配置文件,该版本指向旧的、过期或撤销的证书或没有关联私钥的证书,也会发生这种情况。删除 Xcode 管理器中您的设备部分下的所有无效配置文件。
【讨论】:
【参考方案6】:当我尝试在代码签名身份中选择开发配置文件时,会说“配置文件与任何有效证书都不匹配”。因此,当我按照下面的两步过程进行操作时:
1) 在“代码签名身份”下将开发更改为“不要代码签名”。 2)然后在开发的“代码签名身份”下,您将能够为开发选择您的配置文件。
让我发疯,但偶然发现了解决方案。
【讨论】:
以上是关于Xcode - iPhone - 配置文件与默认钥匙串中的任何有效证书/私钥对不匹配的主要内容,如果未能解决你的问题,请参考以下文章
用于运行配置文件/检查器的 XCode 配置文件无效 - iPhone 应用程序
无法使用此团队中的身份进行代码设计 xcode 组织者中没有可用的私钥错误,如何解决?
有没有办法将 Xcode 自动配置文件选择器配置到某些团队配置文件?
当我在构建选项中设置 iPhone 开发人员代码签名身份时,为啥 XCode 会继续尝试安装临时配置文件?