TL;DR
Básicamente, se trata de un error o corrección de errores introducido en macOS 10.13 High Sierra: Spotlight ahora respeta la configuración del Finder para mostrar las extensiones de los archivos. Si se desactiva esa configuración, se 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 esta pero con algunas similitudes, así que la busqué y me topé con esta pregunta y aquí está mi respuesta:
Las aplicaciones son, de hecho, directorios que se muestran como si fueran un solo archivo; Apple lo llama paquete (a pesar de que el Finder lo denomina " Paquete " como en " Mostrar el contenido del paquete " en el menú contextual). No sólo las aplicaciones son paquetes, Apple utiliza los paquetes también para los frameworks, los plugins, las extensiones de aplicaciones, los servicios XPI, ciertos tipos de paquetes de instalación, así como el formato de almacenamiento de datos si los datos almacenados se componen de varios archivos, pero deben aparecer como un solo archivo (por ejemplo, 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. Así que 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 de las cosas que un archivo de información puede definir es un Nombre de la pantalla . Si se establece dicho nombre de visualización, el Finder mostrará el nombre de visualización y no el nombre real del directorio. Es decir, a menos que el directorio haya sido renombrado, lo que el Finder puede detectar si el nombre del directorio no coincide con el nombre del paquete en el Info.plist
archivo. Admito que es un poco complicado. Vamos a probarlo con un ejemplo:
- El directorio se llama
My App.app
- El nombre del paquete en
Info.plist
es My App
- El nombre de visualización del paquete en
Info.plist
es My Cool App
Con esa combinación, Finder mostrará la aplicación como My Cool App.app
(o simplemente My Cool App
si las extensiones están ocultas). Siempre que (1) y (2) coincidan en el nombre, se mostrará (3).
Si ahora cambio el nombre del directorio a My Boring App.app
, entonces Finder lo mostrará como My Boring App.app
ya que en cuanto (1) y (2) no coinciden en nombre, se muestra el (1), ya que si el usuario quiere que su app cambie de nombre, por supuesto, Finder debería mostrar el nombre elegido por el usuario, tiene sentido, ¿no?
¿Ya es suficientemente complicado? Pues lo siento, pero ahora se complica aún más. Todos los valores del Info.plist
que se muestran a los usuarios pueden ser localizado por lo que si su sistema está configurado en inglés estadounidense, el nombre de visualización del paquete puede ser My Cool App
, pero si el sistema está configurado en inglés del Reino Unido, puede ser My Amazing App
. Si existe una localización para el idioma actual del sistema, Finder mostrará esa localización, pero de nuevo, sólo si los nombres de (1) y (2) coinciden, de lo contrario (1) volverá a ganar.
La localización se realiza colocando .strings
archivos en paquetes en subdirectorios que se denominan <x>.lproj
, donde <x>
puede ser simplemente un código de idioma, por ejemplo en.lproj
para el inglés, fr.lproj
para el francés, etc. Pero in también puede ser lengua + 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 ninguna localización que coincida, los valores del localización de la base se utilizan (denominados región de desarrollo ) que también se define por el Info.plist
archivo. Si no se define dicha localización, los valores del Info.plist
se utilizan directamente.
Spotlight se comporta como Finder, si (1) y (2) coinciden en el nombre (3) se muestra, ya sea directamente o desde la localización correspondiente. Si (3) no coincide, se muestra (1). Pero a diferencia de Finder no siempre añade el .app
incluso si se solicita en las preferencias del Finder. No he podido encontrar nunca el patrón de comportamiento exacto, pero una determinada combinación de configuración impedirá que Spotlight muestre la extensión, independientemente de lo que se haya configurado. Para algunos usuarios se arregla cambiando la configuración del Finder y luego ejecutando sudo mdutil -E /
en Terminal
(que vuelve a indexar todo). Pero no funciona 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 el comportamiento fue cambiado por Apple en alguna versión de macOS y se mantuvo constante a partir de entonces... es decir, hasta 10.13 High Sierra. De repente todas mis aplicaciones tienen .app
en Spotlight, que coincide con mi configuración del Finder, mientras que en 10.12 Sierra ninguna aplicación tenía una extensión en Spotlight, a pesar de la configuración del Finder, a menos que la haya renombrado o a menos que tenga varias copias por ahí.
0 votos
¿Podría tratarse de aplicaciones que especifican un nombre de paquete localizado? ¿Para que se muestre el nombre del paquete, en lugar del nombre del archivo?
0 votos
Esta pregunta es muy similar a [esta][1]. [1]: apple.stackexchange.com/questions/33378/