XCode 4.3代码签名错误

时间:2012-02-21 15:11:14

标签: ios xcode sign

在Xcode 4.3之前,我使用此方法将应用程序提交到应用程序商店:

- 使用在应用程序的构建设置中配置的相应签名证书编译应用程序 - 使用Xcode的内置提交流程将应用程序分发到应用程序商店或客户端。当我被要求选择用于签署应用程序的签名证书时,我总是选择“不要辞职”。

但是,Xcode 4.3中不存在“不要辞职”选项。因此,我的应用程序已被撤销,我总是最终收到错误消息,指出代码签名验证失败。

有没有解决这个问题的方法?

2 个答案:

答案 0 :(得分:1)

是的,有办法。之前它曾经默认为它可以找到的任何代码符号,并自动将其嵌入到您的应用程序中。现在它被窃听了。

要解决此问题,您必须完成获取新证书及其私钥/公钥的步骤。 3步过程:

  1. 请务必转到应用程序>确保完全删除旧的证书和密钥。公用事业>钥匙串访问。然后删除与您的开发人员帐户关联的证书和私钥。

  2. 删除所有信息标题Here后,为您的应用生成新证书。下载并导入您的登录密钥链

  3. 3.在Xcode中打开你的项目。转到根项目文件夹>目标>构建设置并附加新的正确证书,以便代码正确签署您的应用程序。

    如果您不确定代码签名过程。要么转到here,要么转到分发版下的开发配置文件,你有一些(真的很棒)的例子指明你的方式

答案 1 :(得分:1)

我发现代码签名的编译错误是由于Xcode 4.3中的错误造成的。正如许多其他人在Apple的开发人员论坛和我自己所指出的那样,如果您的应用程序包含图像包,Xcode会在很多情况下抱怨代码签名您的应用程序!因此,我删除了包含图像的包,并将图像重新导入为单独的文件。我能够以这种方式编译Ad Hoc的应用程序,而不能使用bundle编译。

另外,就“不要辞职”而言,我注意到即使应用程序已经在另一个步骤中进行了代码签名,Xcode 4.3也变得足够聪明,不能使用相同的证书重新签署应用程序,甚至如果它似乎没有给你机会不去!这就是我用Ad Hoc版本验证的内容。我很快就会尝试使用生产版本。

因此,Xcode 4.3在某种程度上变得更聪明,而在另一种方式变得笨拙。 Apple需要解决捆绑问题,SOON!