Perché alcuni risultati dei riflettori delle app mostrano l'estensione ".app", ma non tutti?


11

Anche se ho impostato esplicitamente la preferenza del Finder per visualizzare tutte le estensioni di file, sto ancora scoprendo che alcune app non mostrano l'estensione del nome file nel loro risultato Spotlight.

il nome del file esce

Ecco alcuni esempi.

Sto correndo Mountain Lion.

skype
parola
passero
Appunti


Potrebbero essere applicazioni che specificano un nome di bundle localizzato? In modo che il nome del bundle mostri, al contrario del nome del file?
Thilo,

Questa domanda è molto simile a [questa] [1]. [1]: apple.stackexchange.com/questions/33378/…
mcw,

Risposte:


9

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.plistfile. Bene, lo ammetto, è un po 'complicato. Proviamo con un esempio:

  1. La directory è denominata My App.app
  2. Il nome del bundle in Info.plistISMy App
  3. 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 Appse 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.appappena 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.plistvisualizzati 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 .stringsi file in fasci in sotto-directory che sono denominati <x>.lproj, in cui <x>può solo essere un codice lingua, ad esempio en.lprojper l'inglese, fr.lprojper il francese, ecc, ma in può anche essere la lingua + paese, come en_US.lproj, en_GB.lproj, en_AU.lproje così via. All'interno è presente un file denominato InfoPlist.stringse questo file può sovrascrivere i valori di base del Info.plistfile. Se non viene trovata alcuna localizzazione corrispondente, vengono utilizzati i valori della localizzazione di base (denominata area di sviluppo ), definita anche dal Info.plistfile. Se non viene definita tale localizzazione, i valori da Info.plistvengono 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' .appestensione, 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 .appun'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.


1
Ho lo stesso problema dall'aggiornamento a macos 10.13 (High Sierra). Il controllo qualità è stato seriamente carente per un po 'di tempo da Apple :(
Xavier,

Ho una macchina che mostra ".app" e una che non lo fa. Quello che fa è quello che ho migrato da una macchina che era stata migrata. Quello che non lo è stato è stato appena pulito e reinstallato.
Paul Tomblin,

Qual è la tua fonte per la frase 'Per alcuni utenti è stato risolto ...'? Altrimenti un'ottima risposta!
Erik,

@Erik Stavo visitando il forum di supporto Apple e questa è stata una soluzione suggerita. Un paio di utenti hanno risposto "Sì, è stato risolto" e circa la stessa quantità di utenti ha risposto "Ho provato, ma nessuna differenza". Per me non ha funzionato, quindi appartengo all'ultima categoria. Suppongo che esistano più cause che portano allo stesso problema e su di esse può essere risolto reindicizzando, ma le altre cause non verranno risolte in questo modo - ma questa è solo una speculazione.
Mecki,

2

Sembra che ciò accada quando Spotlight indicizza le app prima che fosse attiva l'impostazione per nascondere le estensioni. Dovresti provare a reindicizzare le applicazioni per risolvere questo problema.

Vai alla scheda Privacy nelle preferenze di Spotlight e aggiungi la directory Applicazioni alle posizioni escluse. Questo dovrebbe rimuovere tutte le applicazioni dall'indice Spotlight. Quindi rimuoverlo nuovamente dalle posizioni escluse in modo che Spotlight reindicizzi le applicazioni con le impostazioni corrette. Dopo la reindicizzazione, l'estensione ".app" deve essere rimossa da tutti i risultati.


Ti stavo ridimensionando perché la tua risposta era pura speculazione a quel punto, che è più adatta per un commento che per una risposta.
Gerry,

OH VA BENE. Mi dispiace non ho familiarità con il funzionamento di questo sito ..
Frédéric Dénommé,

Nessun problema, benvenuto nel sito.
Gerry,

1
Questo non sembra funzionare per me quando cambio l'impostazione per mostrare le estensioni e reindicizzare tutte le Applicazioni.
Gerry,

0
  1. Vai a: Finder> Preferenze> Avanzate
  2. deseleziona "Mostra tutte le estensioni di file"

Risolverà immediatamente il problema .app


Benvenuti a chiedere diverso. Preferiamo che le risposte forniscano informazioni sul perché funzioneranno. Consulta la sezione Come rispondere per suggerimenti su come fornire risposte di buona qualità. - Dalla recensione.
fsb
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.