Asociación de archivos en Mac

Al encontrar ayuda desde aquí, ahora podemos crear una aplicación Mac a partir de un archivo jar y asociar la aplicación con cierta extensión de archivo.

Cuando hace doble clic en un archivo con esa extensión, se abre en esa aplicación y, en última instancia, en la aplicación Java incrustada.

Sin embargo, nuestra necesidad es obtener la ruta del archivo seleccionado como argumento para el método principal de la aplicación Java. ¿Cómo podemos lograr esto? para la asociación de tipo de archivo que hemos utilizado

defaults write com.apple.LaunchServices LSHandlers -array-add 

<dict>
  <key>LSHandlerContentTag</key>
  <string>PUT_FILE_EXTENSION_HERE_WITHOUT_PERIOD</string>
  <key>LSHandlerContentTagClass</key>
  <string>public.filename-extension</string>
  <key>LSHandlerRoleAll</key>
  <string>org.category.program</string>
</dict>

con cambios.

¿Debería haber algún cambio en el Info.plist archivo?

preguntado el 01 de febrero de 12 a las 13:02

2 Respuestas

Utilizan Java Web Start para declarar el interés en ese tipo de archivo. Aquí hay un demostración de los servicios de archivos JNLP que asocia el .zzz tipo de archivo con la aplicación. Este enfoque debería funcionar para OS X (y Windows, & * nix).

contestado el 23 de mayo de 17 a las 15:05

Apple proporciona algunas clases específicas que le permiten incorporar mejor las aplicaciones Java en Mac OS X. Google para "Apple Java eawt", o pruebe este enlace: http://developer.apple.com/library/mac/documentation/Java/Reference/JavaSE6_AppleExtensionsRef/api/com/apple/eawt/package-summary.html. Busque especialmente Application- y ApplicationAdapter-Class (representantes de sus partes no obsoletas). puede registrar oyentes especiales para obtener información sobre los archivos que deben abrirse.

Respondido 01 Feb 12, 18:02

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.