我已经在Linux上安装了install4j 6。它创建和签名我的OS应用程序包,并创建DMG。但每当我打开DMG并在里面运行创建的应用程序时,Gatekeeper说它来自一个身份不明的开发者。
> codesign -vv /Volumes/pokercopilot/Poker\ Copilot.app
/Volumes/pokercopilot/Poker Copilot.app: unsupported resource found (something not a directory, file or symlink)
当我在OS上运行相同的install4j版本时,应用程序包被正确签名。
> codesign -vv Poker\ Copilot.app/
Poker Copilot.app/: valid on disk
Poker Copilot.app/: satisfies its Designated Requirement
我正在尝试消除因素,并希望检查我正在尝试的内容是否在install4j的能力范围内。
更新: install4j创建了一个文件名无效的文件:
cp -rf /Volumes/pokercopilot/Poker\ Copilot.app .
cp: /Volumes/pokercopilot/Poker Copilot.app/Contents/Resources/app/.install4j/icons/.install4j/${compiler:pcp.productShortName}Updater.icns: No such file or directory
似乎变量引用还没有被指定的值替换。当我在OS X上使用install4j时,文件夹./Contents/Resources/app/.install4j/icons/.install4j/是空的。
发布于 2014-11-12 05:21:12
对DMG进行签名的代码是纯Java代码,没有任何外部依赖项,因此执行install4j的操作系统对此并不重要。
当我在OS X上运行相同的install4j版本时,应用程序包被正确签名。
由于您未下载DMG,因此网守不会对其进行检查。可能签名在这里也是无效的。要检查签名是否有效,请执行
codesign -vv application.app
无效签名的一个可能原因是您没有使用“开发人员ID应用程序”证书进行签名。
更新:
这实际上是install4j中的一个错误,因为ICNS图标现在是从跨平台图像自动编译而来的。只有在安装程序的"Executable name“属性中使用编译器变量时,才会发生这种情况。此错误将在6.0.1中修复。
解决方法:在安装程序(本例中为更新程序)的“可执行图标”属性中,在"Mac“部分中选择”使用ICNS文件“,然后选择文件[instal4j installation directory]/resource/macos/app.icns
。
https://stackoverflow.com/questions/26870979
复制相似问题