2

我正在尝试使用 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 证书有很多线索。但根据这个Apple 页面,使用 Developer ID 证书签署应用程序的唯一原因如下:

如果您的应用没有使用 Apple 颁发的开发者 ID 证书进行签名,则它不会在启用了 Gatekeeper 的 Mac 上启动。

但是我必须禁用 Gatekeeper 才能启动应用程序。特别是因为我目前最感兴趣的是将应用程序打包为 .dmg 以进行测试。

那么是否可以在不使用开发人员 ID 的情况下为我的 JavaFX 应用程序构建 .dmg 包?

4

3 回答 3

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>

你将不得不替换??? 用你自己的名字。

于 2016-03-02T14:18:13.980 回答
1

事实证明,您需要做的就是禁用构建机器上的 Gatekeeper 才能构建 .dmg 包。不知道他们为什么这样实施它。无论如何,这就是我的问题的答案。感谢您提供的答案,这些答案表明可以开始。

于 2016-03-07T11:16:43.277 回答
1

我也有同样的情况,在我的情况下,解决方案是卸载一个已经安装的 dmg 文件:

df -h 然后卸载 /Volumes/...

于 2017-08-31T21:58:19.870 回答