在签署mac应用程序并将其上传到应用程序商店之前

时间:2011-09-07 05:40:03

标签: xcode macos signature mac-app-store

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

以下是他们的完整信息:

  

亲爱的开发者,

     

我们发现了您最近的二进制文件存在一个或多个问题   提交“迷你周”。需要以下问题   更正后,您的申请将继续审查:

     

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

     

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

     

此致

     

iTunes Store团队

我已经撤销并重新安装了我的证书和开发提供资料,但这似乎没有帮助,所以我认为这不是问题。

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

提前谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

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

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