我有一个希望通过 App Store 分发的 Java 应用程序:签署该应用程序似乎有问题。我正在使用 JDK 1.8.0_77、JavaPackager 8.0 和 OSX 10.11.4。
据我了解,甲骨文和苹果正在玩猫捉老鼠(虽然不确定猫是谁),苹果已经撤回了 appBundler。根据这个页面,一个独立的小组已经接管了对appbundler的支持,但是这个页面上带有提交到 Apple 网站的说明的链接不再起作用。此外,三年来 appBundler 项目没有任何活动,所以我认为它不再相关。
因此,我使用 javapackager,使用此页面中的说明。这是我的脚本:
$jdk/bin/javapackager
-deploy
-native mac.appStore
-srcfiles issue/myApp.jar
-appclass myApp.myAppName -name myAppname -outdir app
-outfile myAppName.app -Bmac.category=Education
-Bmac.CFBundleIdentifier=com.myDomain.myAppName
-Bmac.CFBundleName=myAppName
-Bmac.CFBundleVersion=2.0
-Bmac.signing-key-developer-id-app="3rd Party Mac Developer Application: J Latte (XYZ1234ABC)"
-Bmac.bundle-id-signing-prefix=XYZ1234ABC
-v
javapackager 代码对构建中的所有单个项目进行签名,但在尝试对应用程序签名时失败:
Running [codesign,
-s, 3rd Party Mac Developer Application: J Latte (XYZ1234ABC),
-vvvv,
--entitlements, /var/.../macosx/myAppName.entitlements,
/var/.../images/image-6308255237594199313/myAppName.app]
/var/...images/image-6308255237594199313/myAppName.app:
code object is not signed at all
我欢迎任何关于如何摆脱这个漏洞的建议。