Estoy intentando hacer que mi programa asocie automáticamente ciertas extensiones de archivo para que las abra, pero no estoy seguro de cómo hacerlo en MacOSX. No estoy preguntando cómo asociar un programa con una extensión de archivo en la GUI, quiero poder programarlo en mi programa.MacOSX - Asociar extensión de archivo con la aplicación - Programáticamente
Respuesta
para registrar una nueva extensión de archivo con una aplicación utilice el siguiente comando por defecto.
Reemplazar PUT_FILE_EXTENSION_HERE_WITHOUT_PERIOD con la extensión de archivo, es decir, txt.
Reemplace org.category.program con el nombre com/org de su programa, es decir, com.apple.itunes.
$ 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>"
Una vez que haya añadido la extensión del archivo a los servicios de lanzamiento, debe reiniciar el demonio de servicios de lanzamiento por lo que volver a leer el archivo de configuración.
Puede ejecutar el siguiente comando para reiniciar los servicios de inicio, o simplemente reiniciar su computadora. Iniciar sesión/salir también podría hacerlo, pero no lo he intentado.
$ /System/Library/Frameworks/CoreServices.framework/Versions/A/Framework/LaunchServices.framework/Versions/A/Support/lsregister -kill -domain local -domain system -domain user
vistazo aquí para una descripción de la clave CFBundleDocumentTypes Info.plist:
-K
Mal enlace. Presumiblemente, aquí es adonde ir ahora: https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-101685 –
que describe todo el asunto en detalle https://moosystems.com/articles/8-double-click-on-files-in-finder-to-open-them-in-your-python-and-tk-application.html.
Esto implica agrupar su aplicación a través de py2app, agregar cierta clave a su archivo Info.plist e instalar controladores de eventos en su aplicación.
This post se trata de una aplicación de Python (empaquetarla como una aplicación de Mac). Puede incluir la información necesaria, pero no parece rayar directamente la picazón. –
El comando predeterminado mencionado en la respuesta aceptada anterior funciona bien, pero necesitaría llamar a esto después de la instalación de su aplicación, mientras que vincular su aplicación a un sufijo de archivo como se describe en mi artículo lo administra automáticamente siempre que copie la aplicación a un Mac. Pero sí, mi artículo describe un proceso de construcción de Python más grande también. Por otro lado, el proceso será el mismo para cualquier aplicación que cree para macOS. –
- 1. Asociar la extensión de archivo con la aplicación en wp7.1
- 2. Filtro de intención de Android: asociar la aplicación con la extensión de archivo
- 3. Crear entrada de registro para asociar la extensión de archivo con la aplicación en C++
- 4. asociar una extensión de archivo personalizada con la aplicación java en Windows
- 5. Asociar un tipo de archivo a una aplicación en ejecución
- 6. Guardar archivo con la aplicación mac - extensión de archivo
- 7. ¿Cómo asociar la aplicación de iPhone con _every_ tipo de archivo?
- 8. Cambiar a otro espacio (MacOSX) programáticamente
- 9. (Iphone) asociar una aplicación a alguna extensión de archivo para abrir archivos adjuntos en la aplicación de correo
- 10. Perfilando la aplicación g ++ en MacOSX?
- 11. Cómo obtener la ruta exacta de notepad.exe para asociar una extensión de archivo
- 12. ¿Cómo puedo asociar el tipo de archivo de Excel (xlsx) con la aplicación de iPhone
- 13. Secuencia de comandos para asociar una extensión a un programa
- 14. Windows 7 archivo de asociación de extensión
- 15. Obtener el nombre de archivo y la extensión desde el archivo de ruta programáticamente cacao?
- 16. Para la aplicación C++ MacOSX, ¿qué biblioteca de subprocesos usar?
- 17. Cómo asociar una extensión de archivo al ejecutable actual en C#
- 18. Cómo asociar una extensión de archivo a un programa sin hacerlo el programa predeterminado
- 19. ¿Cómo instalar una extensión de Chrome programáticamente?
- 20. Agregar extensión de archivo a archivo de extensión-menos
- 21. ¿Cómo asociar la aplicación con tipos de archivos existentes usando el instalador de WiX?
- 22. Extensión del archivo de filtro Con FileUpload
- 23. Asociación de aplicación de extensión de archivo de iPhone
- 24. Asociar direcciones IP con países
- 25. Incluye: css con extensión de archivo php?
- 26. Carrierwave cómo obtener la extensión de archivo
- 27. Eclipse: asociar un editor con un tipo de contenido
- 28. ¿Cómo puedo asociar archivos .sh con Cygwin?
- 29. ¿Cambia el tema de la aplicación programáticamente?
- 30. Extensión de archivo JSON
esta pregunta pertenece a nuestro sitio hermano, Stack Overflow. se migrará allí en breve. –