Apple Fan Boy

miércoles, 15 de julio de 2009

Algunas aplicaciones podrían no funcionar correctamente con Java para Mac OS X 10.5 Update 4


Después de instalar laactualización Java for Mac OS X 10.5 Update 4publicada a mediados de Junio algunas aplicaciones podrían no comportarse como se espera de ellas. Esto puede ocurrir cuando una aplicación no puede ejecutarse en el modo de 64 bits.

Con Java for Mac OS X 10.5 Update 4 se ha introducido en Leopard una nueva política de activación de aplicaciones de Java para poner a la altura de estas aplicaciones estándar hechas en Cocoa. Si una aplicación no puede funcionar en modo de 64 bits, hay una serie de opciones para forzar el uso de esa aplicación en modo 32 bits.

Solución 1: La sencilla

  1. Selecciona la aplicación java en el Finder
  2. Solicita la información de la aplicación usando el botón alternativo del ratón o usando el atajo de teclado ⌘ + tecla i
  3. Cambia la preferencia de ejecución al modo 32 bits. Repite estos pasos con la aplicación en todos los Mac en la que la estés utilizando

Solución 2 (Avanzada): Modifica la prioridad de arquitectura a utilizar

Si todavía quieres mantener la arquitectura 64 bits pero evitar que sea usada, esta es tu solución y solo tendrás que editar un archivo .plist. Puedes usar un editor de texto (puedes usar TextEdit o mucho mejor, TextWrangler - gratuito-) y mirar dentro del contenido del paquete en busca del archivo info.plist.

Dentro de este archivo info.plist debes buscar la entrada que corresponde aLSArchitecturePriority y debajo de esa entrada estarán las arquitecturas disponibles como en este ejemplo:

    LSArchitecturePriority

    i386
    x86_64
    ppc

Las cadenas de texto pueden reordenarse para adecuarse a las necesidades de la aplicación. Por ejemplo, en el caso de este array, las cadenas de texto dan prioridad a la ejecución en modo de 32 bits sobre la ejecución sobre el modo a 64 bits y en último lugar, la ejecución sobre PPC.

Para eliminar la compatibilidad de una arquitectura solo has de eliminar la cadena de texto concreta: en el caso de la compatibilidad 64 bits, has de eliminar todo el texto en negrita.

Solución 3 (Avanzada): Eliminar el soporte a 64 bits

Esta solución es para aquellos usuarios que se sientan confortables usando el terminal.

Mac OS X cuenta con una utilidad que puedes usar con la línea de comandos que lle llama lipo que puede usarse para "cortar una rebanada" de una aplicación y eliminar totalmente el soporte de una arquitectura que no es necesaria. Los siguientes comandos de terminal retirarían la arquitectura x86_64 de una aplicación ejecutable. Una copia de la aplicación original con el sufijo _64 al nombre de la aplicación se guardará por seguridad.

Importante: lipo modifica los ejecutables de una aplicación. Crear una copia de seguridad de la aplicación previa a esta operación es altamente recomendable antes de realizar cambios en la aplicación.

  • Abre el Terminal que está en Aplicaciones / utilidades
  • Navega hasta el directorio donde está la aplicación (arrástrala al terminal y pulsa retorno de carro para hacerlo mas fácil)
  • Ejecuta estos tres comandos de terminal, en orden, reemplazando nombre_aplicación por el mismo nombre de la aplicación de la aplicación Java dentro de la carpeta Contents/MacOS:
      lipo -remove x86_64 -output nombre_aplicación_32 nombre_aplicación
      mv nombre_aplicación nombre_aplicación_64
      mv nombre_aplicación_32 nombre_aplicación
  • La aplicación resultante no contendrá ya el soporte para 64 bits y la aplicación solo se lanzará en modo 32 bits.

    Fuente y Más información en Apple

    No hay comentarios: