您可以使用 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 项目。