有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

向Mac Store提交应用程序时出现macos Java错误(不推荐使用API)

我试图将Java应用程序提交到mac store(当然,JRE是捆绑的),但出现了著名的“无效二进制错误”。在iTunes发来的电子邮件中,我收到了这样一条信息:“苹果不再接受使用Quick Time API的应用提交”。这可能意味着捆绑的JRE指向QTKit框架或QuickTime框架。我检查过了,MAC OS X 10.9不再支持这个API

我使用Java1.7.40

有人知道Java在哪里引用这些框架,以及是否有可能删除这些二进制文件吗?我认为这是一个全新的问题,我希望有解决办法

谢谢, 卢布斯


共 (1) 个答案

  1. # 1 楼答案

    我像预期的那样更快地解决了这个问题。以下是一些细节

    在绑定的JRE目录上运行Unix命令otool-L以查找所有*dylib文件。这将列出所有动态库文件的所有引用。然后你只需要在结果中搜索字符串 “QTKit”。 在java 1.7.40中,有两个库引用了该框架:

    libgstplugins-lite。dylib, libjfxmedia。动态库

    如果你的应用程序没有使用它们,你很幸运,只需删除它们

    Unix命令示例:

    otool-L/Library/Java/JavaVirtualMachines/jdk1。7.0_40.jdk/Contents/Home/jre/lib/*dylib

    希望这能帮助那些想在GTKit之后将Java应用提交到Mac应用商店的人。框架在OS X 10.9中被弃用

    注意:这对Java 1.7.40有效,可能是对于新的Java版本,这已经被修复了

    问候

    卢布斯