2011-09-07 54 views
5

我一直在处理一个问题。问题是,当我将我的Mac应用程序提交给应用程序商店时,我总是收到无效的二进制文件,他们说这是因为签名无效。而且我应该确保它使用安装程序证书进行签名。在签署一个mac应用程序并将其上传到应用程序商店之前

这里是他们的完整的消息:

尊敬的开发,

我们已经发现了一个或多个问题与您最近的二进制 提交了“小周”。为了让您的应用程序继续审核,需要更正以下问题:

无效签名 - 当您错误地为应用程序的 安装程序签名时会发生此错误。有这个过程需要两个证书: 的“第三方Mac开发者应用”证书和“第三方Mac的 开发人员安装”证书。在签署包裹时,您需要 确保您使用安装人员证书签署您的包裹。 确保您通过 提交您的应用程序时,Xcode的组织者或命令行 运行productbuild时指定该证书。

一旦您纠正了这些问题,请转到应用程序的版本详细信息 页面(位于iTunes Connect的管理您的应用程序模块中) ,然后单击准备提交二进制文件。继续完成提交 过程,直到应用的状态为“等待上传”。然后,您可以使用 应用程序加载器上传更正后的二进制文件。

问候,

iTunes在线商店团队

我已经撤销,并重新安装了证书和发展提供了个人资料,但似乎并没有帮助,所以我假定这不是问题。

有没有别的东西,可能会导致此?也许我需要确定在我的构建设置或类似的东西是正确的?但如果是这样的话? :)

预先感谢您!

+0

请发布更多信息。你的应用程序被拒绝后,你可以获得有关邮件的更多详细信息 – xhan

+0

我已经添加了我从Apple获得的邮件。 – inFever

+0

使用开发人员证书进行构建并使用安装人员证书签署应用程序包时,您确定您正在签署应用程序吗? – Abizern

回答

1

其实,当你从代码主办提交应用程序签名过程中不会发生。相反,它可能是可能发生在您构建您的应用程序进行部署时,但仅当您在目标构建设置中的“代码签名标识”上选择了适当的证书时。

请注意,你也可以手动通过命令行签署的现有应用:

codesign -s "<name of your signing cert>" -fv "<path/to/your/app/bundle>" -o kill,hard 

其中<name of your signing cert>是你的第三方Mac开发者安装证书的规范名称。该可选-o kill,hard强制执行的操作系统,允许用户启动应用程序的代码签名:如果省略了此选项,用户一个可以打开的应用程序包,删除代码符号的文件夹,并复制在不同的机器上的应用程序。使用此选项,您的应用程序包将只在授权机器上启动,并且在签名文件夹不存在时不会运行。

相关问题