构建 .dmg 包需要 Apple Developer ID
Building .dmg package requires Apple Developer ID
我正在尝试使用 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 页面,使用 Developer ID 证书签署应用程序的唯一原因如下:
If your app isn’t signed with a Developer ID certificate issued by
Apple, it won’t launch on a Mac that has Gatekeeper enabled.
但是必须禁用 Gatekeeper 才能启动该应用程序对我来说没问题。特别是因为我目前最感兴趣的是将应用程序打包为 .dmg 以进行测试。
那么是否可以在不使用 Developer ID 的情况下为我的 JavaFX 应用程序构建 .dmg 包?
这仍然是可能的(从 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>
您必须替换 ???用你自己的名字。
事实证明,您需要做的就是禁用构建机器上的 Gatekeeper,以便能够构建 .dmg 包。不知道他们为什么那样实施。无论如何,这就是我的问题的答案。感谢您提供的答案证明可以开始。
我也一样,在我的情况下,解决方案是卸载一个已经安装的 dmg 文件:
df -h
接着
卸载/卷/...
我正在尝试使用 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 页面,使用 Developer ID 证书签署应用程序的唯一原因如下:
If your app isn’t signed with a Developer ID certificate issued by Apple, it won’t launch on a Mac that has Gatekeeper enabled.
但是必须禁用 Gatekeeper 才能启动该应用程序对我来说没问题。特别是因为我目前最感兴趣的是将应用程序打包为 .dmg 以进行测试。
那么是否可以在不使用 Developer ID 的情况下为我的 JavaFX 应用程序构建 .dmg 包?
这仍然是可能的(从 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>
您必须替换 ???用你自己的名字。
事实证明,您需要做的就是禁用构建机器上的 Gatekeeper,以便能够构建 .dmg 包。不知道他们为什么那样实施。无论如何,这就是我的问题的答案。感谢您提供的答案证明可以开始。
我也一样,在我的情况下,解决方案是卸载一个已经安装的 dmg 文件:
df -h 接着 卸载/卷/...