我有一台苹果机,用Xcode 4开发iPhone应用。 我现在有一台新麦金塔电脑,新安装了……一切。

当打开在旧Mac上构建的Xcode项目时,我无法在配置为开发版iPhone的iPhone上运行应用程序。 Xcode 4管理器告诉我在配置文件中“没有找到有效的签名标识”。

我猜这与我之前在旧Mac上生成的.certSigningRequest文件有关(我有该文件的备份),但我必须在新Mac上处理它吗?

另一件奇怪的事情是,我在管理器中看不到我的5个现有配置文件(在苹果配置门户上定义),即使刷新并输入我的配置门户登录名和密码后:


当前回答

还没有人提到过这个问题,这可能不是一个常见的问题,但我在Xcode 5遇到了类似的问题:确保你在Mac的keychain Access中选择了一个默认的keychain。我尝试重新安装Mountain Lion,删除了一个钥匙链,这碰巧是默认的。在将另一个keychain设置为默认后(右键单击该keychain并选择Make keychain "Keychain_name" default"), Xcode就可以设置有效的签名标识了。

其他回答

我解决了“有效的签名身份未找到”错误或多或少:

Make sure that the certificate in your iOS developer program is also listed in your keychain access and is valid (compare the issue dates). If it is not, either transfer it from your old mac using the instructions from apple reference OR delete it from the website and your keychain access and then recreate it, re-download it and drag it over Xcode. Delete any existing development or distribution provisioning profiles and recreate them based on your new certificate, redownload them and verify from keychain access that everything is valid.

我遇到这个问题是因为与配置文件相关联的iOS开发证书不在我的钥匙链中。我重新安装了OSX,结果是这样的。我做了以下事情:

developer.apple.com下的证书,标识符和配置文件 选择相应的(有效的)iOS开发证书,下载 双击下载的文件,它被添加到密钥链 整理器中的错误会消失

如果您没有有效的证书,那么生成一个新的证书并使用它创建一个新的配置文件。

还没有人提到过这个问题,这可能不是一个常见的问题,但我在Xcode 5遇到了类似的问题:确保你在Mac的keychain Access中选择了一个默认的keychain。我尝试重新安装Mountain Lion,删除了一个钥匙链,这碰巧是默认的。在将另一个keychain设置为默认后(右键单击该keychain并选择Make keychain "Keychain_name" default"), Xcode就可以设置有效的签名标识了。

我遇到了和Tiguero一样的事情(谢谢你的回答,它给了我希望),但这里有一种方法可以消除“未找到有效的签名标识”错误,而不必删除所有配置配置文件。

如果你在一个新系统上,不能从另一个系统中检索你的密钥,你确实必须删除并重新生成新的Xcode开发和分发证书。你可以通过Xcode或使用老式的钥匙链访问来实现这一点。

然后,您可以进入Provisioning,在每个选项卡、Development和Distribution中,单击您想要更新的概要文件旁边的Edit,然后单击Modify。

您将看到一个证书列表,您必须选中刚才创建的证书旁边的复选框,然后单击Submit。

完成之后,进入Xcode(我用的是4.3.3) 管理器>设备>库>配置配置文件,您将在其中获得错误消息,并单击刷新。一旦您回答输入开发人员登录的提示,Organizer将重新下载配置文件,错误消息应该消失。

我今天早上遇到了这个问题,当时我刚刚用不同的证书打开了一个旧应用程序,并允许它访问钥匙链。我的另一个应用程序,工作得很好,停止工作与这个错误。我一直在拔我的头发,直到现在,我只是这样做:

Xcode菜单>首选项>帐户> THE_APPLE_ID_THAT_YOU_ARE_USING >查看详细信息

在新窗口中,在签名标识的左下角按下+按钮并选择iOS Development。它会重新添加身份,之后我的问题就解决了,应用程序又能在设备上运行了。