2

我创建了一个 java 应用程序并按照这些教程将它与 jre 捆绑并转换为 .app 包: https ://www.jemchicomac.com/signing-a-sandbox-app-in-osx/ http://speling .shemnon.com/blog/2014/04/10/getting-your-java-app-in-the-mac-app-store/

我可以使用他们的建议成功创建 .app 包。问题是,当我尝试使用 codesign 命令对 myApp.app 包进行签名时,它失败并出现此错误:代码对象根本没有签名在子组件中:MyApp.app/Contents/PlugIns/jre/Contents/Home/ 的路径jre/lib/calendars.properties

我删除了 calendars.properties 进行测试,但另一个文件再次发生错误。我发现的唯一方法是删除整个 jre 文件夹表单包,并且 codesign 可以正常工作。然后我分别签署 jre 可执行文件并将 jre 文件夹复制到 myApp.app 的 Plugins 文件夹。谁能告诉我有什么问题?以及如何使用上面链接中提供的方法进行签名?提前致谢。

4

1 回答 1

1

经过长时间的调查,我从与 Apple 工程师的交谈中发现,“jre”子文件夹需要具有文件扩展名才能使 codesign 正常运行。在我的情况下,将路径从 Contents/PlugIns/jre 更改为 Contents/PlugIns/jre.bundle 解决了这个问题。也许从那时起 codesign 已经修复,但如果没有,我希望这会有所帮助。

于 2016-10-05T22:17:57.493 回答