在签署 Mac 应用程序并将其上传到应用程序商店之前
我已经处理一个问题有一段时间了。问题是,当我将 mac 应用程序提交到应用程序商店时,我总是收到无效的二进制文件,他们说这是因为签名无效。我应该确保它是用安装程序证书签名的。
以下是他们的完整消息:
尊敬的开发者,
我们发现您最近的二进制文件存在一个或多个问题 提交“迷你周”。需要解决以下问题 更正以便您的申请能够继续审核:
签名无效 - 当您签署应用程序的签名时,会发生此错误 安装程序不正确。此过程需要两个证书: “3rd Party Mac Developer Application”证书和“3rd Party Mac 开发人员安装程序”证书。签署您的软件包时,您需要 确保您使用安装程序证书来签署您的包。 确保您在通过以下方式提交应用程序时指定此证书 Xcode Organizer 或从命令运行 Productbuild 时 线。
纠正这些问题后,请转到应用的版本详细信息 页面(可在 iTunes Connect 的“管理您的应用程序”模块中找到) 并单击准备提交二进制文件。继续提交 处理直到应用程序的状态为等待上传。然后您可以使用 应用程序加载器上传更正后的二进制文件。
问候,
iTunes Store 团队
我已经撤销并重新安装了我的证书和开发提供的配置文件,但这似乎没有帮助,所以我假设这不是问题所在。
还有其他原因可能导致这种情况吗?也许我需要确保我的构建设置或类似的东西是正确的?但如果是这样呢? :)
先感谢您!
I've been dealing with an issue for a while. The issue is that when I submit my mac app to the app store I'm always getting invalid binary and they are saying it's because of an invalid signature. And that I should make sure it's signed with the installer certificate which it is.
Here is the complete message from them:
Dear Developer,
We have discovered one or more issues with your recent binary
submission for "Mini Week". The following issues will need to be
corrected in order for your application to proceed to review:Invalid Signature - This error occurs when you have signed your app's
installer incorrectly. There are two certs required for this process:
the "3rd Party Mac Developer Application" cert and the "3rd Party Mac
Developer Installer" cert. When signing your package, you need to
ensure that you are using the Installer cert to sign your package.
Ensure that you are specifying this cert when submitting your app via
the Xcode Organizer or when running productbuild from the command
line.Once you have corrected these issues, go to the app's version details
page (found in the Manage Your Applications module of iTunes Connect)
and click Ready to Submit Binary. Proceed through the submission
process until the app's status is Waiting for Upload. You can then use
Application Loader to upload the corrected binary.Regards,
The iTunes Store Team
I've revoked and reinstalled my certificates and development providing profile but that doesn't seem to help so I'm assuming that's not the issue.
Is there something else that could cause this? Maybe I need to make sure something is correct in my build settings or something like that? But if so what? :)
Thank you in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实际上,当您从 Code Organizer 提交应用程序时,不会发生签名过程。相反,当您构建要部署的应用程序时,可能会发生这种情况,但前提是您在目标构建设置中的“代码签名身份”上选择了适当的证书。
请注意,您还可以通过命令行手动签署现有应用程序:
其中
<您的签名证书的名称>
是您的第 3 方 Mac 开发人员安装程序证书的规范名称。 可选-o Kill,hard
强制操作系统的代码签名,以允许用户启动应用程序:如果省略此选项,用户可以打开应用程序包,删除代码签名文件夹,然后将应用程序复制到另一台计算机上。使用此选项,您的应用程序包将仅在授权计算机上启动,并且在签名文件夹不存在时不会运行。Actually, the signing process does not happen when you submit the app from Code Organizer. Conversely, it may happen when you build your app for deployment, but only if you selected the appropriate cert on the "Code Signing Identity" in the target build settings.
Note that you could also manually sign an existing app via command line:
where
<name of your signing cert>
is the canonical name of your 3rd Party Mac Developer Installer cert. The optional-o kill,hard
enforces the code signature for the OS to allow user to launch the application: if you omit this option, an user could open the app bundle, delete the code sign folder, and copy the app on a different machine. With this option, your app bundle will only launch on the authorized machine, and will not run when the signature folder is not present.