La biblioteca de emulación de JRE de J2ObjC se puede compilar con Xcode y se puede incluir como un subproyecto en tus proyectos de Xcode. Esto te permite controlar la configuración utilizada para compilar esa biblioteca de modo que se pueda utilizar mejor en tus proyectos.
Descarga el código fuente
Puedes elegir una de estas opciones: - Descargar y actualizar el paquete del código fuente actual en un directorio local o - Clona el árbol de código fuente con git. La ventaja de una consulta de fuente local es que es más fácil mantenerse actualizado con los últimos cambios del proyecto J2ObjC, pero requiere cierto conocimiento de los sistemas de control de versión.
El código fuente puede ir en cualquier parte de tu sistema local. Para los fines de este documento, usaremos /usr/local/src/j2objc
, pero cambia esa ruta como prefieras.
Instala las herramientas de compilación
Es necesario instalar las herramientas de línea de comandos de Xcode y Apache Maven para compilar J2ObjC. A continuación, se incluyen algunas sugerencias:
Estas son búsquedas de Google en lugar de páginas estáticas, ya que la instalación a menudo puede cambiar con las nuevas versiones de Mac OS X y Xcode.
Compila el proyecto
Sigue los pasos de Cómo compilar J2ObjC. Las compilaciones de línea de comandos son opcionales, pero más fáciles de depurar que cuando se invocan dentro de Xcode.
Cuando depures el JRE, se recomienda agregar las siguientes líneas en la parte superior de jre_emul/environment.mk antes ejecutar una compilación limpia:
DEBUGGING_SYMBOLS=YES
OPTIMIZATION_LEVEL=0
El proyecto JreEmulation Xcode
En Xcode, abre /usr/local/src/j2objc/jre_emul/JreEmulation.xcodeproj
. Sus carpetas incluyen lo siguiente:
- Clases: Es el conjunto de clases principales de emulación de JRE, que no se crean a través de la traducción de archivos fuente de Java.
- jre_emul_tests: Es el conjunto de pruebas de unidades que se compilan y ejecutan en Xcode. Estas no incluyen las pruebas JUnit traducidas, que se compilan y ejecutan desde la línea de comandos con
make test
en el directoriojre_emul
. - Clases transpiladas: Son los archivos que se crean a través de la traducción de los archivos de origen Java de la biblioteca JRE. Notas:
- Xcode marca los archivos que faltan en rojo. Debido a que estos archivos se crean durante la compilación, inicialmente todos serán rojos hasta que se compile el proyecto.
- Agregamos clases nuevas con regularidad a la biblioteca de emulación de JRE, por lo que es posible que esta lista esté desactualizada. Si es así, haz clic con el botón derecho en esta carpeta, haz clic en "Add Files to JreEmulation.xcodeproj" y agrega nuevos archivos
.m
y.h
desdejre_emul/build_result/Classes
y sus subdirectorios.
Para compilar el proyecto JreEmulation, selecciona el destino jre_emul
y haz clic en el botón Run de Xcode. Para compilar y ejecutar las pruebas de unidades, haz clic en la flecha hacia abajo junto al botón Run y selecciona Test.
Agrega el proyecto JreEmulation a tu proyecto
- En el panel Project Naviagator de la izquierda, haz clic con el botón derecho en tu proyecto y selecciona “Add Files to Project Name”.
- Busca el archivo
jre_emul/JreEmulation.xcodeproj
y haz clic en el botón Agregar. - Haz clic en tu proyecto y selecciona su destino principal; luego, selecciona la pestaña Fases de compilación del destino.
- Abre la sección Target Dependencies, haz clic en el botón + y selecciona el destino
jre_emul
. - Abre la sección Vincular objeto binario con bibliotecas, haz clic en el botón + y selecciona
libjre_emul.a
. - Selecciona la pestaña Build Settings del destino, busca Header Search Paths y agrega la ruta al directorio
/usr/local/src/j2objc/dist/include
(sustituyendo la ubicación real).
Ahora, cuando se compila tu proyecto, el proyecto JreEmulation se compila según sea necesario.