0

我的应用程序已正确进行代码签名...

codesign -vv MyApp.app
MyApp.app: valid on disk
MyApp.app: satisfies its Designated Requirement

spctl -vv --assess --type execute MyApp.app
MyApp.app: accepted
source=Developer ID
origin=Developer ID Application: Me / My Company

它包含一个插件MyApp.app/Contents/Plugins/jre

如果我创建一个安装程序...

productbuild --sign 'Developer ID Installer: Me' --root MyApp.app 
     /Applications/MyApp.app MyAppInstaller.pkg

...然后安装它,然后安装的 MyApp 不再正确进行代码签名。

codesign -vv /Applications/MyApp.app
/Applications/MyApp.app: code object is not signed at all
In subcomponent: /Applications/MyApp.app/Contents/PlugIns/jre/Contents/_CodeSignature/CodeResources

其他注意事项:

  • 安装程序本身是代码签名的,而不是已安装的应用程序。
  • 如果我不包含插件,我会得到一个正确代码签名的安装应用程序。
  • 如果我使用 PackageMaker 或 productbuild,我会得到相同的结果。
  • 我不关心应用商店。我只想要一个正确代码签名的安装应用程序。

我尝试使用pkgbuild为 MyApp.app 和插件构建一个单独的包,然后使用它们组合它们productbuild,但我得到了相同的结果。我不确定这pkgbuild一步是否必要。

我错过了什么?

4

1 回答 1

0

这似乎对我有用:

productbuild --component ./MyApp.app /Applications --sign 'Developer ID Installer: Me' MyAppInstaller.pkg

我想有必要使用--component而不是--root.

于 2014-10-20T18:35:05.527 回答