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

Error uploading to Mac App Store: ITMS-90239

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

我的应用程序正在使用 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 类型的证书,并且我对 codesign 使用了 Application 证书,对 [=] 使用了 Installer 证书18=].

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

ERROR ITMS-90239: "Invalid Signature. Code object is not signed at all. The binary at path [MyApp.app/Contents/MacOS/MyApp] contains an invalid signature. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate.

显然我的代码对象已签名,所以问题一定是它认为我使用的是 ad hocdevelopment 证书,但正如您从我使用的命令中看到的那样,不是这样的。

有什么想法吗?

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

错误消息非常清楚!