2014-10-20 124 views
0

我的应用程序正确的代码签名的......如何为包含插件的应用程序创建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,我会得到相同的结果。
  • 我不在乎App Store。我只想要一个正确代码签名安装的应用程序。

我试着用pkgbuild搭建既为MyApp.app和插件一个单独的包,然后使用productbuild将它们结合起来,但我得到了相同的结果。我不确定是否需要pkgbuild步骤。

我错过了什么?

回答

0

这似乎为我工作:

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

我想用--component而不是--root这是必要的。

相关问题