Cómo agregar el proyecto JreEmulation a tu proyecto de Xcode

La biblioteca de emulación JRE de J2ObjC se puede compilar con Xcode y se puede incluir como un subproyecto en tus proyectos de Xcode. De esta manera, podrás controlar la configuración que se usa para compilar esa biblioteca de modo que se pueda usar mejor en tus proyectos.

Descarga el código fuente

Puedes hacer lo siguiente: - Descarga y comprime el paquete fuente actual en un directorio local. - Clona el árbol de código fuente con git. La ventaja de una compra de fuente local es que es más fácil mantenerse actualizado con los cambios más recientes del proyecto J2ObjC, pero requiere ciertos conocimientos de los sistemas de control de versión.

El código fuente puede incluirse en cualquier parte del sistema local. A los efectos de este documento, usaremos /usr/local/src/j2objc, pero cambiaremos esa ruta de acceso como prefieras.

Instala herramientas de compilación

Se deben instalar las herramientas de línea de comandos de Xcode y Apache Maven para compilar J2ObjC. Aquí encontrarás 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 versiones nuevas 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 son más fáciles de depurar que cuando se invocan dentro de Xcode.

Cuando depuras el JRE, se recomienda agregar las siguientes líneas en la parte superior de jre_emul/environment.mk antes de ejecutar una compilación limpia:

DEBUGGING_SYMBOLS=YES
OPTIMIZATION_LEVEL=0

El proyecto de Xcode de JreEmulation

En Xcode, abre /usr/local/src/j2objc/jre_emul/JreEmulation.xcodeproj. Entre sus carpetas, se incluyen las siguientes:

  • Clases: Es el conjunto de clases de emulación principales de JRE, que no se crean mediante la traducción de archivos de origen de Java.
  • jre_emul_tests: 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 mediante make test en el directorio jre_emul.
  • Clases transpiladas: Son los archivos que se crean mediante la traducción de los archivos de origen Java de la biblioteca JRE. Notas:
  • Xcode marca los archivos faltantes en rojo. Debido a que estos archivos se crean durante la compilación, inicialmente todos serán de color rojo hasta que se compile el proyecto.
  • Con regularidad, agregamos nuevas clases 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, luego en "Add Files to JreEmulation.xcodeproj" y agrega nuevos archivos .m y .h desde jre_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 Add.
  • 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 Link Binary With Libraries, 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 de acceso al directorio /usr/local/src/j2objc/dist/include (y sustituye la ubicación real).

Ahora, cuando se compila tu proyecto, se crea el proyecto JreEmulation según sea necesario.