TL; DR
Fondamentalmente, è una correzione di bug o bug introdotta in macOS 10.13 High Sierra: Spotlight ora rispetta l'impostazione del Finder per mostrare le estensioni dei file. Disabilitando questa impostazione rimuovi l'estensione .app da Spotlight.
Risposta a lunghezza intera
So che questa è una domanda molto vecchia, ma ho appena avuto un déjà-vu in 10.13 High Sierra; diverso da questo ma con alcune somiglianze, così ho cercato e incappato in questa domanda ed ecco la mia risposta:
Le app sono in effetti delle directory visualizzate come se fossero un singolo file; Apple chiama un pacchetto (nonostante il Finder lo abbia nominato " Pacchetto " come in " Mostra contenuto pacchetto " nel menu di scelta rapida). Non solo le applicazioni sono bundle, Apple utilizza bundle anche per framework, plug-in, estensioni applicative, servizi XPI, alcuni tipi di pacchetti di installazione e formato di archiviazione dei dati se i dati memorizzati sono costituiti da più file ma devono apparire come un solo file (es. un documento RTF con immagini può essere memorizzato come pacchetto RTFD). I pacchetti hanno sempre un nome reale, il nome della voce del file sul disco. Quindi se non c'è nient'altro da mostrare, macOS mostra quel nome ovunque.
Tuttavia, i pacchetti hanno all'interno un file di informazioni, denominato Info.plist
, che contiene tutti i tipi di metadati relativi al pacchetto. Una cosa che un tale file di informazioni può definire è un Nome visualizzato . Se viene impostato un nome visualizzato, Finder mostrerà il nome visualizzato e non il vero nome 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 file Info.plist
. Beh, lo ammetto, è un po 'complicato. Proviamo con un esempio:
- La directory è denominata
My App.app
- Il nome del gruppo in
Info.plist
è My App
- Il nome visualizzato del pacchetto in
Info.plist
è My Cool App
Con questa 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
, Finder la visualizzerà come My Boring App.app
poiché se (1) e (2) non corrispondono nel nome, viene visualizzato (1), come se il l'utente vuole che la sua app venga rinominata, ovviamente, Finder dovrebbe visualizzare il nome scelto dall'utente, ha senso, non è vero?
Già abbastanza complicato? Beh, mi dispiace, ma ora diventa ancora più complicato. Tutti i valori nella Info.plist
visualizzati agli utenti possono essere localizzati , quindi se il tuo sistema è impostato sull'inglese americano, il nome visualizzato del pacchetto potrebbe essere My Cool App
, ma se il sistema è impostato sull'inglese del Regno Unito, può essere My Amazing App
. Se esiste una localizzazione per la lingua corrente del sistema, Finder mostrerà tale localizzazione, ma ancora una volta, solo se i nomi di (1) e (2) corrispondono, altrimenti (1) vincerà di nuovo.
La localizzazione viene effettuata posizionando i file .strings
in gruppi in sottodirectory denominate <x>.lproj
, dove <x>
può essere solo un codice lingua, ad es. en.lproj
per l'inglese, fr.lproj
per il francese, ecc. Ma può anche essere 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 file Info.plist
. Se non viene trovata alcuna localizzazione corrispondente, vengono utilizzati i valori della localizzazione di base (denominati area di sviluppo ), che è anche definita dal file Info.plist
. Se non viene definita alcuna localizzazione, i valori di Info.plist
vengono utilizzati direttamente.
Spotlight si comporta come Finder, se viene visualizzata la corrispondenza (1) e (2) nel nome (3), direttamente o dalla localizzazione corrispondente. Se (3) non è impostato, viene visualizzato (1). Ma a differenza di Finder, non aggiunge sempre l'estensione .app
, anche se richiesta nelle preferenze del Finder. Non sono riuscito a trovare il modello di comportamento esatto, ma una certa combinazione di impostazioni impedirà a Spotlight di mostrare l'estensione, indipendentemente da ciò che è stato configurato. Per alcuni utenti viene corretto cambiando le impostazioni del Finder e quindi eseguendo sudo mdutil -E /
in Terminal
(che reindicizza tutto). Ma non funziona per tutti gli utenti, che potrebbero avere qualcosa a che fare con la lingua / regione scelta.
Fondamentalmente è un bug. O re-indicizzazione lo corregge o non può essere riparato. E il comportamento è stato cambiato da Apple in alcune versioni di macOS ed è rimasto costante da allora in poi ... cioè fino a 10.13 High Sierra. All'improvviso tutte le mie app hanno estensione .app
in Spotlight, che corrisponde alla mia impostazione Finder, mentre in 10.12 Sierra nessuna app aveva un'estensione in Spotlight, nonostante le impostazioni del Finder, a meno che non l'avessi rinominato o se non avessi più copie di in giro.