上传到Mac App Store时出错:ITMS-90239

时间:2015-04-20 22:06:06

标签: xcode itunesconnect codesign application-loader productbuild

首先让我说我知道有很多这样的问题,但我相信我已经检查了以前问题中的所有原因并且仍然有问题。

我的应用程序正在使用Qt,因此我的提交流程不会通过Xcode。在过去,我提交申请并没有太大的麻烦。

这是我的codesign命令:

codesign --deep -f -s '3rd Party Mac Developer Application: Me' -v --entitlements Entitlements.plist MyApp.app

这似乎有效,如果我使用codesign验证我得到:

MyApp.app: valid on disk
MyApp.app: satisfies its Designated Requirement

接下来,我使用productbuild生成我的.pkg文件,以便通过Application Loader提交。

productbuild --component MyApp.app /Applications --sign '3rd Party Mac Developer Installer: Me' MyApp.pkg

请注意,我在两个命令中使用3rd Party Mac Developer类型证书,我使用Application codesign证书和Installer productbuild证书}。

当我通过MyApp.pkgiTunesConnect提交ApplicationLoader 3.1时,我得到了:

  

错误ITMS-90239:“签名无效。代码对象未签名   所有。路径[MyApp.app/Contents/MacOS/MyApp]中的二进制文件包含   签名无效。确保您已使用a签署了您的申请   分发证书,而不是临时证书或开发   证书。

显然我的代码对象已签名,因此问题必须是它认为我使用的是ad hocdevelopment证书,但正如您从我使用的命令中看到的那样,那就是'在这种情况下。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

解决方案,至少在我的情况下是不在应用程序包中包含Entitlements.plist。在调用codesign时仍应指定它,但它不需要出现在包中。

错误信息非常明确!