6

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

以下是他们的完整信息:

亲爱的开发者,

我们发现您最近为“Mini Week”提交的二进制文件存在一个或多个问题。需要更正以下问题才能继续审核您的申请:

无效签名 - 当您错误地签署了应用程序的安装程序时,会发生此错误。此过程需要两个证书:“3rd Party Mac Developer Application”证书和“3rd Party Mac Developer Installer”证书。对包进行签名时,您需要确保使用安装程序证书对包进行签名。确保在通过 Xcode Organizer 提交应用程序或从命令行运行 productbuild 时指定此证书。

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

问候,

iTunes 商店团队

我已经撤销并重新安装了我的证书和开发提供配置文件,但这似乎没有帮助,所以我假设这不是问题。

还有其他可能导致这种情况的原因吗?也许我需要确保我的构建设置或类似的东西是正确的?但如果是这样呢?:)

先感谢您!

4

1 回答 1

2

实际上,当您从 Code Organizer 提交应用程序时,不会发生签名过程。相反,当您构建应用程序进行部署时可能会发生这种情况,但前提是您在目标构建设置中的“代码签名身份”上选择了适当的证书。

请注意,您还可以通过命令行手动签署现有应用程序:

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

<name of your signing cert>您的第 3 方 Mac 开发人员安装程序证书的规范名称在哪里。该选项 -o kill,hard强制操作系统的代码签名以允许用户启动应用程序:如果省略此选项,用户可以打开应用程序包,删除代码签名文件夹,然后将应用程序复制到另一台机器上。使用此选项,您的应用程序包将仅在授权机器上启动,并且不会在签名文件夹不存在时运行。

于 2011-10-07T15:59:05.780 回答