我正在尝试将 Java 应用程序分发给 OS X 用户。我没有使用 Mac 商店 - 它是通过我自己的网站分发的。无论我尝试什么,OS X 的 Gatekeeper 都会拒绝该应用程序。
这是我的方法:
(1) 像往常一样构建app,得到一个JAR文件
(2)appbundler
按照此处所述使用:https ://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html 。这会在我的 JAR 周围创建一个运行良好的 .app,并在MyApp.app/Contents/PlugIns
目录中包含 JVM。
(3) 使用我的开发者证书签署应用程序:
codesign -s 'Developer ID Application: MyCompany Ltd' --deep MyApp.app
...过程成功完成
(4) 验证 .app 将遵守 Gatekeeper 的铁腕法律:
spctl --assess --verbose=4 --type execute MyApp.app
...我得到的结果是:
MyApp.app: a sealed resource is missing or invalid
对我来说似乎不是很冗长!我可能做错了什么?或者我怎样才能获得更多信息?
SO/Google 围绕“密封资源...”进行搜索是指签名框架(我没有)或建议使用该--force
选项签名(我尝试过但不起作用)。