5 votos

Cómo 'desregistrar' un tipo de archivo / MIME con los servicios de lanzamiento

Estoy trabajando en una aplicación basada en documentos en Cocoa, el archivo es de tipo bundle (una carpeta que el Finder muestra como un solo archivo al igual que una aplicación).

Tenía todo funcionando perfectamente pero entonces cometí el error de añadir un identificador de tipo de nombre de dominio inverso al tipo de mi archivo en mi info.plist (algo que más tarde aprendí que Apple advierte explícitamente que no se debe hacer aquí ). Bueno, esto inmediatamente rompió mi tipo de archivo, los documentos de mi aplicación sólo se ven como carpetas en el Finder ahora, por lo que no hay ninguna opción de "abrir" o "abrir con" en cualquiera de ellos y los datos en el interior están expuestos.

Eliminar el identificador MIME de mi plist y reconstruirlo no repara el registro del tipo de archivos en los servicios de lanzamiento, ni siquiera después de apuntar explícitamente a LSRefresh en la compilación (sólo es una compilación de depuración).

Por favor, ¿alguno de los gurús de los terminales puede decirme cómo eliminar el tipo de archivo de la base de datos de Launch Services? Estoy seguro de que si puedo hacer eso entonces todo se restaurará cuando vuelva a lanzar la aplicación.

2voto

klanomath Puntos 19587

El registro y la anulación del registro de aplicaciones y tipos de documentos se realiza con:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister

Para obtener ayuda con el comando simplemente use la opción h.:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -h

En tu caso intentaría utilizar la opción de desregistro:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -u <path to bundle>

Dependiendo de su aplicación/paquete, es posible que tenga que añadir un sudo y/o reiniciar después.


Otro paso es reconstruir completamente la base de datos de los servicios de lanzamiento:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

y/o instalar RCDefault.app y tratando de eliminar el MIME/paquete/lo que sea - lo cual es posible a veces.

0 votos

Hola, gracias por su respuesta. Lo he intentado de todas las maneras que se me ocurren pero desgraciadamente este tipo de mime persiste. Creo que tal vez tengo que reinstalar OS X. Gracias de todos modos

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X