JavaFXPorts 和 robovm-cocoatouch 导入

JavaFXPorts and robovm-cocoatouch import

我正在尝试使用 JavaFXPortsRoboVM-cocoatouch,但我无法使用 RoboVM 中的原生内容,例如 UIButton

我的 build.gradle 文件中有以下依赖项:

    classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b5'
    classpath 'org.robovm:robovm-cocoatouch:1.0.0'

我正在尝试导入 org.robovm.apple.uikit.*eclipse 找不到包。

我必须做什么才能使用 JavaFXPorts 和 RoboVM 的原生内容?

简短回答:

您需要创建一个文件夹 src/ios/java,您的 iOS 特定源文件应该位于其中。此文件夹中的源文件自动设置了正确的 class 路径,因此您可以在那里使用 RoboVM classes。

长答案:

除了默认的主要源集外,jfxmobile 插件还为插件支持的每个平台添加了一个源集:android、ios 和桌面。每个源集都有一个 src/PLATFORM/javasrc/PLATFORM/resources 目录,其中分别包含平台特定的源文件和资源文件。

平台独立代码必须写在文件夹 src/main/java 中,而平台特定代码必须写在匹配的平台源文件夹中。例如,在您的情况下,iOS 代码应放在 src/ios/java 文件夹中。

该插件还确保为每个源集正确配置依赖项。此外,例如,当您生成 IPA 时,它将仅包含来自主要和 ios 源集的 class 文件。

有关 jfxmobile 项目结构的更多信息,请查看此网页上的结构部分:http://javafxports.org/page/Setting_up

您可以在 java 插件文档中阅读有关 gradle 源集的更多信息:http://gradle.org/docs/current/userguide/java_plugin.html