TL; DR
Básicamente, es un error o corrección de error introducido en macOS 10.13 High Sierra: Spotlight ahora respeta la configuración del Finder para mostrar las extensiones de archivo. Deshabilitar esa configuración elimina la extensión .app de Spotlight.
Respuesta completa
Sé que esta es una pregunta muy antigua, pero acabo de tener un déjà-vu en 10.13 High Sierra; diferente a este pero con algunas similitudes, así que lo busqué y me topé con esta pregunta y aquí está mi respuesta:
De hecho, las aplicaciones son directorios que se muestran como si fueran un solo archivo; Apple lo llama un paquete (a pesar de que el Finder lo nombra " Paquete " como en " Mostrar contenido del paquete " en el menú contextual). No solo las aplicaciones son paquetes, Apple usa paquetes también para frameworks, complementos, extensiones de aplicaciones, servicios XPI, cierto tipo de paquetes de instalación, así como el formato de almacenamiento de datos si los datos almacenados consisten en múltiples archivos pero aparecerán como un solo archivo (p. Ej. un documento RTF con imágenes se puede almacenar como un paquete RTFD). Los paquetes siempre tienen un nombre real, el nombre de la entrada del archivo en el disco. Entonces, si no hay nada más que mostrar, macOS muestra ese nombre en todas partes.
Sin embargo, los paquetes tienen un archivo de información dentro, llamado Info.plist
, que contiene todo tipo de metadatos sobre el paquete. Una cosa que dicho archivo de información puede definir es un Nombre para mostrar . Si se establece dicho nombre para mostrar, Finder mostrará el nombre para mostrar y no el nombre real del directorio. Es decir, a menos que se haya cambiado el nombre del directorio, que el Finder puede detectar si el nombre del directorio no coincide con el nombre del paquete en el Info.plist
archivo. Bueno, lo admito, es un poco complicado. Probémoslo con un ejemplo:
- El directorio se llama
My App.app
- El nombre del paquete en
Info.plist
esMy App
- El nombre para mostrar del paquete en
Info.plist
esMy Cool App
Con esa combinación, Finder mostrará la aplicación como My Cool App.app
(o solo My Cool App
si las extensiones están ocultas). Mientras (1) y (2) coincidan en el nombre, se mostrará (3).
Si ahora cambio el nombre del directorio a My Boring App.app
, Finder lo mostrará como My Boring App.app
si tan pronto como (1) y (2) no coinciden en el nombre, se muestra (1), como si el usuario desea cambiar el nombre de su aplicación, de Por supuesto, Finder debe mostrar el nombre elegido por el usuario, tiene sentido, ¿no?
¿Ya es bastante complicado? Bueno, lo siento, pero ahora se vuelve aún más complicado. Todos los valores Info.plist
que se muestran a los usuarios se pueden localizar , por lo que si su sistema está configurado en inglés de EE. UU., El nombre para mostrar del paquete puede ser My Cool App
, pero si el sistema está configurado en inglés del Reino Unido, puede serlo My Amazing App
. Si existe una localización para el idioma actual del sistema, Finder mostrará esa localización, pero nuevamente, solo si los nombres de (1) y (2) coinciden, de lo contrario (1) volverá a ganar.
Que localiza a se realiza mediante la colocación de .strings
archivos en paquetes en los subdirectorios que se denominan <x>.lproj
, en los que <x>
simplemente puede ser un código de idioma, por ejemplo, en.lproj
para el Inglés, fr.lproj
para el francés, etc. Pero también puede ser en el idioma + país, como en_US.lproj
, en_GB.lproj
, en_AU.lproj
, y así sucesivamente. Dentro hay un archivo llamado InfoPlist.strings
y este archivo puede anular los valores base del Info.plist
archivo. Si no se encuentra una localización coincidente, se utilizan los valores de la localización base (denominada región de desarrollo ), que también está definida por el Info.plist
archivo. Si no se define dicha localización, los valores de Info.plist
se utilizan directamente.
Spotlight se comporta como Finder, si se muestran (1) y (2) coincidencias en el nombre (3), directamente o desde la localización correspondiente. Si (3) no está configurado, se muestra (1). Pero a diferencia del Finder, no siempre agrega la .app
extensión, incluso si se solicita en las preferencias del Finder. Nunca pude encontrar el patrón de comportamiento exacto, pero una cierta combinación de configuración evitará que Spotlight muestre la extensión, independientemente de lo que haya configurado. Para algunos usuarios se fija cambiando la configuración del Finder y luego corriendo sudo mdutil -E /
en Terminal
(que vuelve a los índices de todo). Pero no está funcionando para todos los usuarios, lo que puede tener algo que ver con el idioma / región elegido.
Básicamente es un error. O bien la reindexación lo arregla o no se puede arreglar. Y Apple cambió el comportamiento en algunas versiones de macOS y se mantuvo constante a partir de entonces ... es decir, hasta 10.13 High Sierra. De repente, todas mis aplicaciones tienen .app
extensión en Spotlight, que coincide con mi configuración de Finder, mientras que en 10.12 Sierra ninguna aplicación tenía una extensión en Spotlight, a pesar de la configuración de Finder, a menos que le haya cambiado el nombre o que haya tenido varias copias de ahí.