我正在尝试使用Eclipse和e(fx)clipse为我的JavaFX应用程序构建一个.dmg软件包,但它给了我以下错误:
Did not find a key matching 'Developer ID Application: '
BUILD FAILED
/Users/xxx/git/xxx/xxx/build/build.xml:203: Error: Bundler "DMG Installer" (dmg) failed to produce a bundle.
在这种情况下,有很多关于如何使用有效的Apple Developer ID证书的帖子。但根据this Apple页面,使用开发者ID证书签署应用程序的唯一原因如下:
如果您的应用未使用颁发的开发者ID证书进行签名 Apple,它不会在启用了Gatekeeper的Mac上启动。
但是我必须禁用Gatekeeper才能启动应用程序。特别是因为我目前最感兴趣的是将应用程序打包为.dmg用于测试目的。
那么可以在不使用开发者ID的情况下为我的JavaFX应用程序构建.dmg包吗?
答案 0 :(得分:1)
这仍然是可能的(截至1.8.0_76)并且我一直这样做。 我的部署设置是:
<fx:deploy
verbose="true"
embedJNLP="false"
extension="false"
includeDT="false"
offlineAllowed="true"
outdir="${basedir}/deploy"
outfile="???"
nativeBundles="dmg"
updatemode="background" >
<fx:info title="???" vendor="???"/>
<fx:application refId="fxApplication"/>
<fx:resources refid="appRes"/>
</fx:deploy>
你将不得不替换???用你自己的名字。
答案 1 :(得分:1)
事实证明,您需要做的就是在构建机器上禁用Gatekeeper以构建.dmg软件包。不知道他们为什么这样实现它。无论如何,这是我的问题的答案。感谢您的答案,证明可以开始。
答案 2 :(得分:1)
我有同样的情况,在我的情况下,解决方案是卸载已安装的dmg文件:
df -h 然后 umount / Volumes /...