我为 MacOS 分发了一个 Java 应用程序,它是开发人员签名的,但没有经过公证。不确定从哪里开始,因为文档偏向于使用我不使用的 Xcode 创建应用程序,但我只想要最简单的方法来公证我的应用程序,然后继续。
阅读文档我已经有一些担忧:
我目前正在使用 Java 8,是否可以对 Java 8 应用程序进行公证,或者我是否需要迁移到 Java 11。我宁愿不迁移到 Java 11,因为它会在我支持的其他一些平台上引起问题。
我的开发 Mac 机器是旧的 MacBook Pro,因此无法在 OSX El Capitan 10.11.6 之后更新,我可以用这台机器进行公证吗?我确实有一台更新的机器,但它不是为开发而设置的,我对将开发人员 ID 证书传输给它有些担心,因为首先设置它是有问题的。
我使用 AppBundler fork https://github.com/TheInfiniteKind/appbundler/来打包我的应用程序
这由执行签名等的 ant 脚本构建文件调用,我们最终使用 dmgCanvas 创建一个 dmg
我在下面发布了蚂蚁脚本,希望有人可以从基本步骤开始
#!/bin/bash #set -x cd /Users/paul/code/jthink/songkong/src/main/scripts hiutil -C -fapplehelpbook/SongKongHelp/SongKongHelp.helpindex applehelpbook/SongKongHelp/ cd /Users/paul/code/jthink/songkong rm -fr /Applications/SongKong.app mvn clean mvn -DskipTests=true install rm -fr target/songkong-6.6 unzip target/songkong-6.6-distribution.zip -d target ant sudo cp -r target/songkong-6.6/applehelpbook/SongKongHelp /Applications/SongKong.app/Contents/Resources rm /Applications/SongKong.app/Contents/PlugIns/jdk1.8.0_192.jdk/Contents/MacOS/libjli.dylib cp /Applications/SongKong.app/Contents/PlugIns/jdk1.8.0_192.jdk/Contents/Home/jre/lib/jli/libjli.dylib /Applications/SongKong.app/Contents/PlugIns/jdk1.8.0_192.jdk/Contents/MacOS export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate" /usr/bin/codesign --sign "Developer ID Application: P Taylor" --force --deep --verbose /Applications/SongKong.app /usr/bin/codesign --verify --deep --verbose /Applications/SongKong.app cd /Users/paul/code/jthink/SongKong /usr/local/bin/dmgcanvas /Users/paul/code/jthink/SongKong/dmgCanvas_songkong.dmgCanvas /Users/paul/songkong-osx.dmg -v SongKong