3 votos

¿Cómo hago que Finder muestre el 'Tipo' correcto después de eliminar una aplicación?

Cuando se cambia el nombre de un archivo de una aplicación conocida a una extensión diferente, por ejemplo ".notanext", conserva tanto el icono como el 'tipo' listado en la ventana del buscador. El icono se puede eliminar borrando la caché de iconos (aunque realmente no entiendo por qué debería ser necesario).

Sin embargo, no he logrado deshacerme del 'tipo' - sigue mostrando el texto de la última extensión 'conocida'. He intentado limpiar la base de datos de servicios de inicio tanto manualmente con lsregister como con OnyX. También he eliminado todos los atributos adicionales con xattr.

No estoy buscando saber cómo registrar una nueva asociación de aplicaciones. Quiero desregistrar por completo una aplicación conocida para que la vista de archivos en el buscador vuelva a ser la que habría sido en una instalación original.

Estoy utilizando Monterey. Para reproducir, elige cualquier archivo con una aplicación conocida y un icono y un 'tipo', luego cámbiale el nombre con una extensión garantizada de ser desconocida en el sistema. El icono y el 'tipo' siguen siendo los mismos. Después de borrar la base de datos de servicios de inicio. Después de reiniciar. Al menos para mí. No tengo acceso a otros sistemas macOS para comparar.

Entonces, la pregunta es: ¿Cómo logro que el buscador muestre el 'Tipo' correcto después de eliminar una aplicación?

2voto

Xecrets Puntos 51

Parece que Launch Services es agresivo al agregar aplicaciones y asociaciones a su base de datos y Finder al agregar cosas nuevas. No tanto en limpiarlo...

Encontrará y usará prácticamente cualquier cosa que sea una aplicación, es decir, una carpeta con un final .app y la estructura adecuada de una aplicación. ¡Incluso en la Papelera! Como desarrollador, eso es bastante molesto. No puedo encontrar una manera de restringirlo, por ejemplo, a '/Applications'. Las recetas habituales sobre ejecutar lsregister -kill no ayudan, ya que simplemente redescubrirá las diversas aplicaciones y las volverá a registrar en la base de datos. Para limpiar las entradas antiguas, borre la aplicación ofensiva del sistema de archivos y si aún no desaparece de Launch Services, haga algo como lo siguiente para encontrar al culpable y deshacerse de él:

alias lsregister=/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister
lsregister -dump | grep path: | grep -i [NombreDeAppParaCancelarRegistro]
lsregister -u [LaRutaEncontrada].app
killall Finder

En general, la opción -dump es muy útil para entender lo que hay dentro y encontrar lo que desee eliminar de allí. Normalmente, una aplicación se eliminará de la base de datos de Launch Services cuando se elimine y se elimine de la Papelera, pero aún así tendrá que reiniciar Finder para que también desaparezca (con killall Finder, por ejemplo).

No solo es Launch Services lo que es agresivo al recopilar y mostrar información de la que es difícil entender de dónde proviene. La indexación de Spotlight... Recopila metadatos de todo tipo de lugares. Las recetas más comunes para limpiar el índice resultan no ser las mejores (se sugiere con frecuencia mdutil -E para 'limpiar' el índice). No estoy seguro de qué hace realmente -E, pero mdutil -X es mejor. Realmente elimina cosas, incluidas las antiguas y obsoletas. Entonces, algo así:

sudo mdutil -d /
sudo mdutil -d /System/Volumes/Data
sudo mdutil -X /
sudo mdutil -X /System/Volumes/Data
sudo mdutil -i on /
sudo mdutil -i on /System/Volumes/Data

Algunos sitios afirman que / y /System/Volumes/Data se refieren al mismo lugar, pero si hace mdutil -L, se listarán diferentes contenidos. Así que, por si acaso, elimino ambos. Si alguien sabe algo mejor, ¡por favor comente!

En cuanto al icono, he tenido éxito restableciéndolo simplemente con sudo rm -rfv /Library/Caches/com.apple.iconservices.store. Muchos sitios también recomiendan eliminar un montón de otras cosas en /private/var/folders y algunas otras acciones. No ha sido necesario para mí, pero quizás esto hará que se quede basura no referenciada. Realmente no lo sé. ¡Si lo sabes, por favor comenta!

Finalmente parece, aunque no he podido probar esto, que Spotlight realmente indexa y poblal a propiedad kMDItemKind utilizando asociaciones de extensiones de archivos encontradas en aplicaciones de iOS en la tienda de aplicaciones. Puedes usar mdls para mostrar todas las propiedades del índice de Spotlight. Esto es en macOS. He intentado bastante, incluso buscando en todos los archivos del sistema de archivos el 'kind' en cuestión, y la única explicación que puedo encontrar es que Spotlight recurre a los manifiestos de aplicaciones (info.plist) recogidos de aplicaciones de iOS que aparecen en la tienda, incluso en macOS. Algo así como intentar demasiado... ¡Si alguien puede explicar el comportamiento de una manera diferente, por favor hazlo!

(Esto es en Monterey con un disco. Su experiencia puede variar, y probablemente lo hará, ya que Apple aparentemente cambia casi todo entre cada lanzamiento. Pero aún así debería dar algunas pistas útiles sobre dónde comenzar.)

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