构建 .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 接着 卸载/卷/...