2

首先让我说我知道有无数这样的问题,但我相信我已经检查了前面问题中的所有原因,仍然有问题。

我的应用程序正在使用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证书codesignInstaller.productbuild

当我提交MyApp.pkg通过iTunesConnect时,ApplicationLoader 3.1我得到:

错误 ITMS-90239:“无效签名。代码对象根本没有签名。路径 [MyApp.app/Contents/MacOS/MyApp] 处的二进制文件包含无效签名。确保您已使用分发证书对应用程序进行签名,而不是临时证书或开发证书。

显然我的代码对象是签名的,所以问题一定是它认为我正在使用ad hocdevelopment证书,但正如你从我使用的命令中看到的那样,事实并非如此。

有任何想法吗?

4

1 回答 1

2

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

错误消息非常清楚!

于 2015-04-21T00:04:46.553 回答