提交到Mac App Store会一直为应用的安装程序提供“无效签名”

时间:2016-02-15 03:05:30

标签: xcode mac-app-store code-signing-certificate productbuild productsign

我正在尝试提交一个应用程序(使用Qt 5.4.2(怀疑它很重要,但包括以防万一))到Mac App Store,由于某种原因我不断收到以下错误:

  

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

当我使用Xcode 6.4进行10.10.4时,我在Application Loader中收到此错误。在进行常规搜索之后,我能找到的所有参考文献都是3-4岁。在其中一个旧的答案中,有人提到升级OSX和Xcode为他们修复了它,所以我想到了什么。

我升级到OSX 10.11.13并且正在使用Xcode 7.2.1(以及Application Loader 3.4(902))进行编译,起初我想“哦,嘿!错误消失了!”因为Application Loader不再显示它。但是现在,一旦Application Loader上传它,我在电子邮件中会出现同样的错误(如上所示)!

我有一个Python脚本,通过在Qt框架中复制,修复并签署二进制文件来执行大量的伏都教,然后它做的最后两件事就是创建PKG文件并对其进行签名。起初我有两个单独的步骤。对于咯咯笑声,我尝试在--sign步骤中添加productbuild参数,但我得到了相同的结果。命令如下:

print ("Creating the PKG")
subprocess.call([r'/usr/bin/productbuild', 
    r'--component',
    bundleFolder+ '/MyApp.app',
    r'/Applications',
    r'MyApp-Installer.pkg',
    r'--sign',
    r'3rd Party Mac Developer Installer: My Name (12345XXXX)',
])

#print ("Creating the Signed PKG")
#subprocess.call([r'/usr/bin/productsign', 
#   r'--sign',
#   r'3rd Party Mac Developer Installer: My Name (12345XXXX)',
#   r'MyApp-Installer.pkg',
#   r'MyApp-Installer-Signed.pkg'
#])

另外,FWIW,这是我第一次尝试在一年内更新应用程序(我知道:()这是一台新机器。所以,我删除了开发人员的证书portal(developer.apple.com),重新创建它们然后导入/安装/下载它们。实际上,我已经多次尝试解决这个问题了。上次我通过Xcode创建它们。所以Keychain Access看起来像:

enter image description here

我在开发人员门户网站中的观点如下:

enter image description here

然而,我可能会提到另一件事(我不确定它是否重要),每次我都将这些新证书添加到Keychain,无论我是在Xcode中执行还是创建,下载和导入证书主要是,我必须在证书上鼠标右键单击并转到获取信息 - >信任并将“代码签名”从“无指定值”更改为“始终信任”。

我试图提供很多细节,希望有人可以帮我确定我做错了什么。如果有人有任何建议或想法,我将非常感激!

1 个答案:

答案 0 :(得分:1)

两种可能的解决方案

我遇到了这个问题,两次,原因各不相同。

我第一次检查钥匙串中的证书,我发现了重复的证书。我删除了重复项(留下那些过期时间最长的),问题解决了。

第二次,我换了一台新的笔记本电脑作为我的开发机器,我的钥匙串里没有相关的证书。我从https://developer.apple.com/account/mac/certificate/下载了它们并安装了它们,问题解决了。

所以我猜这个问题与您的钥匙串中的证书有关。只需确保您拥有正确的证书集,没有遗漏,没有重复,没有过期。