无法通过xcode4提交Mac应用程序 - 无效签名

时间:2011-06-12 02:42:08

标签: xcode macos app-store macruby

我一直收到这个错误:

无效签名 - 如果您错误地签署了应用安装程序,则会出现此错误。此过程需要两个证书:“第三方Mac开发人员应用程序”证书和“第三方Mac开发人员安装程序”证书。签署包时,您需要确保使用安装程序证书对包进行签名。通过Xcode Organizer提交应用程序或从命令行运行productbuild时,请确保指定此证书。

我用谷歌搜索,并按照指示但无济于事。

我有:

项目>目标>构建>代码签名>第三方Mac开发者应用程序:

然后,当我去存档并打开管理器时,我去提交我选择“第三方Mac安装程序”键。但它仍然失败:(

我还需要做其他事吗?喜欢清洁,然后先建立? (为什么构建?或者只选择构建? - 虽然我先尝试了几乎所有这些,然后存档)。

如果它具有相关性,我正在使用MacRuby,并且必须首先将其设置为xcode部署:http://redwoodapp.posterous.com/macruby-and-xcode-4-build-a-self-contained-ma

任何帮助表示感谢 - 我在这里撕扯我的头发:(

3 个答案:

答案 0 :(得分:7)

我最近遇到了同样的问题。这是写下和分享我自己的笔记的绝佳机会。 :)

我假设你正在使用Xcode和Organizer(不是应用程序上传器)

步骤1:检查Keychain Access.app。

您必须拥有两个证书(从mac dev中心下载)。其中每个都必须与私钥链接。 在图片中,我只有一个证书“nacho4 ...”与私钥“nac ......”相关联。所以我应该去mac开发中心并下载我的证书才能继续。下载它们并将它们拖到“登录”中。

I only have one certificate "nacho..." linked with a private key "nac...". Make sure you have two of these.

第2步:确保您可以使用正确的配置构建应用程序。

就我而言,我设置了三种配置。 调试:可以调试+不签名(用于开发) 发布:无法调试+无签名(主要用于内部测试版等) 分发:无法调试+签名(适用于应用商店分发)

转到项目“构建信息”>“构建签名”> 确保使用正确的签名身份为您签署代码。类似于:“第三方Mac开发者应用程序。我公司公司” *如果你看不到这个,那就意味着Keychain Access.app中的证书有问题。检查您的证书是否与私钥相关联 enter image description here

步骤3确保构建正确的配置。

(是的,有点显而易见,但它最后一次发生在我身上。这就是你可能获得“无效签名”的原因)在“编辑方案”面板中,确保在“存档”中有正确的配置“ 部分。在我的情况下是“分发”(默认为“发布”)

enter image description here

请注意,如果您没有正确执行此操作,您将能够将二进制文件提交给Apple,但几分钟后您将收到“无效签名”。因为证书很好但是应用程序没有签名。

第4步:构建应用并提交

的Xcode>产品与GT;档案 enter image description here

组织者将出现。现在就提交吧。

我发现验证存档是没用的,因为有时甚至验证失败我能够无错误地提交我的应用程序。我也从其他线程中读到这个,不仅仅是我。因此,如果您确定这是您要提交给Apple的版本。只需按提交按钮。

系统会询问您的用户名和密码。 然后,你得到另一个菜单来选择应用程序(只有一个选项,至少在我的情况下),然后选择我认为的签名身份。 这个很重要!确保选择“第三方Mac开发者安装程序”,一切都应该有效。

enter image description here

如果您在最后一个菜单中看不到“第三方Mac开发者安装程序”选项,则表示您的钥匙串中缺少某些内容。 (来自mac dev中心的安装程序证书)

请注意,如果您没有正确执行此操作,您将能够提交二进制文件,但几分钟之后您将收到来自iTunes Connect的“无效签名”邮件,因为该应用程序可能已经签名但Apple会证书不正确。

我希望它有所帮助。

答案 1 :(得分:5)

另外两个答案是好的清单,但它对我不起作用。

我的问题是我在Lion上安装了Xcode 3.2.6(它无论如何都不起作用,但这是另一个故事)。这损坏了productutil应用程序。

要解决此问题:在Lion Installer的Packages文件夹中安装BSD.pkg。

感谢Jacob Gorban在Apple Devs论坛上分享他的解决方案。

答案 2 :(得分:1)

认为这是最终排序 - 感谢来自MacRuby邮件列表的Daniel。我实际上最终创建了一张Apple的门票,但希望他们不会向我收取费用,现在它已经修好了。

您可以在此处查看解决方案:http://astonj.com/uncategorized/invalid-signature-error-on-submitting-app-to-the-mac-app-store/