这事让我非常担心。我刚刚下载了iPhone 3.0 SDK,但现在我无法让我的配置文件工作。以下是我的尝试:

删除所有配置配置文件 删除登录keychain 创建新的“登录”钥匙链,使它 默认的 创建一个新的证书签名请求 创建新的开发人员和分销渠道 证书在苹果开发者中心 下载并安装它们 下载并安装WWDR证书 创建一个新的配置文件和 双击它来安装

所有的证书报告都是有效的,但是Xcode仍然不能识别它们。接下来我该试试什么?

编辑:

我完全重新安装了Mac OS X,从一个新的安装安装了3.0 SDK,仍然有同样的问题。


当前回答

昨天我们的CI服务器也遇到了类似的问题。无法对应用程序扩展名进行错误签名

Code Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier XXX were found.

注意:我自己从开发者门户网站创建了配置文件(不是由Xcode管理的)。

错误在于,我已经使用分发证书创建了供应配置文件,但是构建设置设置为使用开发人员证书。将其更改为使用分发证书解决了这个问题。

摘要:在生成设置中也要匹配用于创建配置文件的证书。

其他回答

Because I keep coming back to this question, I will leave my answer here for the solution that works for me. It turns out that for a same public/private key developer identifier of me, it's installed twice in my keychain. Both have private key. But when I compare, one is private key of me within my developer organisation, and another one is private key of me as a personal developer. It turns out Xcode keeps trying using the wrong key. Removing the wrong duplicate key solves all the problem. Hey future me, check this one first next time!

确保这种情况干净地发生的一个好方法是首先完全清理您的登录密钥链。

另外,一个非常重要的步骤是在导入私钥和公钥之前解锁您的钥匙链

 security unlock-keychain -p password ~/Library/Keychains/login.keychain 

将私钥导入登录keychain:

security import PrivateKey.p12 -k ~/Library/Keychains/login.keychain 

导入1个身份。

将公钥导入登录keychain:

security import PublicKeyName.pem -k ~/Library/Keychains/login.keychain 

1键导入。

我通过

A)进入门户上的配置文件页面

b)在你遇到麻烦的配置文件上点击Edit(右边)。

c)选中相应的证书框(默认不勾选),选择正确的App ID(我的旧的已经过期了)

d)下载并使用新的配置文件。删除旧的。

显然,这个问题有4个不同的原因:

您的钥匙串缺少与您的 iPhone Developer或iPhone 发行证书。 您的钥匙链缺少苹果全球开发者关系 中级证书。 您的证书已被撤销或已过期。 在线证书状态协议(OCSP)或证书 撤销列表(CRL)被打开 钥匙串访问首选项

.

我解出来了。 我不得不把。cer文件拖到KeyChain Access中。但请确保左上角的“Login”已被选中。否则,Xcode将无法看到证书,也就无法为你的代码签名。

苹果在这方面还有改进的空间....

答案是撤销您的当前开发证书并创建一个新的证书。按照苹果网站上的说明来做。就是这么简单!!我也遇到过这样的问题。