如何为包含插件的应用程序创建OS X安装程序



我的应用程序经过了正确的代码签名。。。

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步骤是否有必要。

我错过了什么?

这似乎对我有效:

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

我认为有必要使用--component而不是--root

相关内容

  • 没有找到相关文章

最新更新