将 JreEmulation 项目添加到您的 Xcode 项目

您可以使用 Xcode 构建 J2ObjC 的 JRE 模拟库,并将其作为子项目添加到 Xcode 项目中。这样,您就可以控制用于构建该库的设置,以便项目能够充分利用该库。

下载源代码

执行以下任一操作: - 下载当前源代码软件包并将其解压缩到本地目录;或者 - 使用 git 克隆源代码树。签出本地源代码的好处是,您可以更轻松地及时了解最新的 J2ObjC 项目变更,但需要具备一些版本控制系统方面的知识。

源代码可以位于本地系统中的任何位置。在本文档中,我们将使用 /usr/local/src/j2objc,但您可以视需要更改该路径。

安装 Build Tools

需要安装 Xcode 的命令行工具和 Apache Maven 才能构建 J2ObjC。请参考以下提示:

这些是 Google 搜索,而不是静态页面,因为安装通常可能随着新的 Mac OS X 和 Xcode 版本而发生变化。

构建项目

按照构建 J2ObjC 的步骤操作。命令行 build 是可选的,但比在 Xcode 中调用时更易于调试。

调试 JRE 时,建议您在运行干净 build 之前将以下行添加到 jre_emul/environment.mk 的顶部:

DEBUGGING_SYMBOLS=YES
OPTIMIZATION_LEVEL=0

JreEmulation Xcode 项目

在 Xcode 中,打开 /usr/local/src/j2objc/jre_emul/JreEmulation.xcodeproj。该文件夹中的文件夹包括:

  • :一组核心 JRE 模拟类,不是通过转换 Java 源文件创建的。
  • jre_emul_tests:在 Xcode 中构建并运行的一组单元测试。这些测试不包括转换后的 JUnit 测试,这些测试是使用 jre_emul 目录中的 make test 从命令行构建和运行的。
  • 转译类:这些是通过转换 JRE 库的 Java 源文件而创建的文件。注意:
  • Xcode 会将缺失的文件标记为红色。由于这些文件是在构建期间创建的,因此在项目构建之前,它们最初都显示为红色。
  • 我们会定期向 JRE 模拟库添加新类,因此此列表可能已过时。如果是,请右键点击此文件夹,点击“Add Files to JreEmulation.xcodeproj”,然后从 jre_emul/build_result/Classes 及其子目录添加新的 .m.h 文件。

如需构建 JreEmulation 项目,请选择 jre_emul 目标,然后点击 Xcode 的 Run 按钮。如需构建并运行单元测试,请点击 Run 按钮旁边的向下箭头,然后选择 Test

将 JreEmulation 项目添加到您的项目中

  • 在左侧的“Project Naviagator”面板中,右键点击您的项目,然后选择“Add Files to Project Name”。
  • 找到 jre_emul/JreEmulation.xcodeproj 文件,然后点击 Add 按钮。
  • 点击您的项目并选择其主要目标,然后选择该目标的“Build Phases”标签页。
  • 打开“Target Dependencies”部分,点击 + 按钮,然后选择 jre_emul 目标。
  • 打开“Link Binary With Libraries”部分,点击 + 按钮,然后选择 libjre_emul.a
  • 选择目标的“Build Settings”(构建设置)标签页,找到 Header Search Paths,然后将路径添加到 /usr/local/src/j2objc/dist/include 目录(替换实际位置)。

现在,当您构建项目时,系统会根据需要构建 JreEmulation 项目。