首先让我说我知道有很多这样的问题,但我相信我已经检查了以前问题中的所有原因并且仍然有问题。
我的应用程序正在使用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.pkg
向iTunesConnect
提交ApplicationLoader 3.1
时,我得到了:
错误ITMS-90239:“签名无效。代码对象未签名 所有。路径[MyApp.app/Contents/MacOS/MyApp]中的二进制文件包含 签名无效。确保您已使用a签署了您的申请 分发证书,而不是临时证书或开发 证书。
显然我的代码对象已签名,因此问题必须是它认为我使用的是ad hoc
或development
证书,但正如您从我使用的命令中看到的那样,那就是'在这种情况下。
有什么想法吗?
答案 0 :(得分:2)
解决方案,至少在我的情况下是不在应用程序包中包含Entitlements.plist
。在调用codesign
时仍应指定它,但它不需要出现在包中。
错误信息非常明确!