TL; DR
Fondamentalmente, è un bug o una correzione di bug introdotta in macOS 10.13 High Sierra: Spotlight ora rispetta l'impostazione del Finder per mostrare le estensioni dei file. La disabilitazione di tale impostazione rimuove l'estensione .app da Spotlight.
Risposta integrale
So che questa è una domanda molto antica, ma ho appena avuto un déjà-vu nell'Alta Sierra 10.13; diverso da questo ma con alcune somiglianze, quindi l'ho cercato e mi sono imbattuto in questa domanda ed ecco la mia risposta:
Le app sono infatti directory visualizzate come se fossero un singolo file; Apple lo chiama un pacchetto (nonostante il Finder lo denomini " Pacchetto " come in " Mostra contenuto pacchetto " nel menu contestuale). Non solo le applicazioni sono bundle, Apple utilizza i bundle anche per framework, plug-in, estensioni delle applicazioni, servizi XPI, alcuni tipi di pacchetti di installazione, nonché il formato di archiviazione dei dati se i dati memorizzati sono costituiti da più file ma devono apparire come un solo file (ad es. un documento RTF con immagini può essere memorizzato come un bundle RTFD). I pacchetti hanno sempre un nome reale, il nome della voce del file sul disco. Quindi, se non c'è nient'altro da visualizzare, macOS mostra quel nome ovunque.
Tuttavia, i bundle hanno all'interno un file di informazioni, chiamato Info.plist
, che contiene tutti i tipi di metadati sul bundle. Una cosa che può essere definita da un file di informazioni è un nome visualizzato . Se viene impostato un tale nome visualizzato, Finder visualizzerà il nome visualizzato e non il nome reale della directory. Cioè, a meno che la directory non sia stata rinominata, che il Finder può rilevare se il nome della directory non corrisponde al nome del bundle nel Info.plist
file. Bene, lo ammetto, è un po 'complicato. Proviamo con un esempio:
- La directory è denominata
My App.app
- Il nome del bundle in
Info.plist
ISMy App
- Il nome visualizzato del bundle in
Info.plist
èMy Cool App
Con quella combinazione, Finder mostrerà l'app come My Cool App.app
(o solo My Cool App
se le estensioni sono nascoste). Finché (1) e (2) corrispondono nel nome, viene visualizzato (3).
Se ora rinominare la directory in My Boring App.app
, allora Finder la visualizzerà non My Boring App.app
appena se (1) e (2) non corrispondono nel nome, viene visualizzato (1), come se l'utente volesse rinominare la sua app, di Certo, Finder dovrebbe mostrare il nome scelto dall'utente, ha senso, no?
Già abbastanza complicato? Beh, mi dispiace, ma ora è ancora più complicato. Tutti i valori Info.plist
visualizzati negli utenti possono essere localizzati , quindi se il tuo sistema è impostato su inglese americano, il nome visualizzato del bundle potrebbe essere My Cool App
, ma se il sistema è impostato su inglese britannico, può essere My Amazing App
. Se esiste una localizzazione per la lingua corrente del sistema, Finder visualizzerà tale localizzazione, ma di nuovo, solo se i nomi di (1) e (2) corrispondono, altrimenti (1) vincerà di nuovo.
Localizzazione di è fatto mettendo .strings
i file in fasci in sotto-directory che sono denominati <x>.lproj
, in cui <x>
può solo essere un codice lingua, ad esempio en.lproj
per l'inglese, fr.lproj
per il francese, ecc, ma in può anche essere la lingua + paese, come en_US.lproj
, en_GB.lproj
, en_AU.lproj
e così via. All'interno è presente un file denominato InfoPlist.strings
e questo file può sovrascrivere i valori di base del Info.plist
file. Se non viene trovata alcuna localizzazione corrispondente, vengono utilizzati i valori della localizzazione di base (denominata area di sviluppo ), definita anche dal Info.plist
file. Se non viene definita tale localizzazione, i valori da Info.plist
vengono utilizzati direttamente.
Spotlight si comporta come Finder, se (1) e (2) corrispondono nel nome (3) viene visualizzato, direttamente o dalla localizzazione corrispondente. Se (3) non è impostato, viene visualizzato (1). Ma a differenza del Finder non aggiunge sempre l' .app
estensione, anche se richiesto nelle preferenze del Finder. Non sono mai stato in grado di trovare l'esatto modello di comportamento, ma una determinata combinazione di installazione impedisce a Spotlight di mostrare l'estensione, indipendentemente da ciò che hai configurato. Per alcuni utenti è risolto modificando l'impostazione del Finder e poi correre sudo mdutil -E /
in Terminal
(che ri-indici tutto). Ma non funziona per tutti gli utenti, il che potrebbe avere a che fare con la lingua / regione prescelta.
Fondamentalmente è un bug. La reindicizzazione lo risolve o non può essere risolto. E il comportamento è stato modificato da Apple in alcune versioni di macOS ed è rimasto costante da allora in poi ... cioè fino alla 10.13 High Sierra. All'improvviso tutte le mie app hanno .app
un'estensione in Spotlight, che corrisponde alla mia impostazione Finder, mentre in 10.12 Sierra nessuna app aveva un'estensione in Spotlight, nonostante l'impostazione Finder, a meno che non l'ho rinominata o a meno che non avessi più copie di aggirarsi intorno.