In che modo Spotlight determina a quale categoria appartiene un file?

2

In Spotlight puoi abilitare e disabilitare le categorie di file che appariranno nei risultati di ricerca. In che modo Spotlight determina che un determinato file appartiene a una determinata categoria? Il seguente evento specifico ha scatenato questa curiosità:

Per un po 'di tempo i file% co_de verrebbero visualizzati nella categoria Documenti. Spotlight gestirà correttamente la ricerca .tex . Poi improvvisamente non sono riuscito a trovare filename.tex file più in Spotlight. Le ricerche del Finder erano comunque OK. Risulta che ho avuto la categoria sviluppatore disabilitato nelle preferenze Spotlight, e Spotlight ora pensava che i file .tex appartenessero a quella categoria. Dopo aver attivato la categoria Sviluppatore, tutto è tornato alla normalità.

Che cosa ha permesso a Spotlight di cambiare le categorie per i file .tex ?

    
posta Saaru Lindestøkke 01.08.2013 - 16:14
fonte

2 risposte

1

Penso che dipenda dalle UTI parent definite in Info.plist di un'applicazione o in /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist . .tex non è incluso nel CoreTypes Info.plist, quindi l'UTI dipende da quale dichiarazione UTI dell'applicazione è stata registrata per prima. Ad esempio sulla mia installazione l'UTI era com.barebones.bbedit.tex-source e il primo UTI genitore era public.source-code :

$ touch a.tex; mdls -n kMDItemContentTypeTree a.tex
kMDItemContentTypeTree = (
    "com.barebones.bbedit.tex-source",
    "public.source-code",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)

Quando ho cancellato BBEdit e ho ricostruito il database di Launch Services, l'UTI è diventato org.tug.tex e il primo UTI principale è diventato public.text :

$ touch b.tex; mdls -n kMDItemContentTypeTree b.tex
kMDItemContentTypeTree = (
    "org.tug.tex",
    "public.text",
    "public.data",
    "public.item",
    "public.content",
    "public.plain-text"
)
    
risposta data 01.08.2013 - 19:42
fonte
1

Ho avuto un problema simile con uno dei miei documenti TeX, che si è sviluppato immediatamente dopo l'aggiornamento di TeXShop mentre avevo aperto il documento.

Ho provato il trucco dell'elenco UTI sopra, e risulta che tutti i miei altri documenti TeX sono classificati come "org.tug.tex" o "edu.uo.texshop.tex". Questi vengono tutti come "Documenti" nelle ricerche Spotlight. Tuttavia, l'unico file aperto mentre TeXShop è stato aggiornato è stato classificato come "com.barebones.bbedit.tex-source" che sembra rientrare nella categoria "Sviluppatore".

Forse la morale della storia nel mio caso è: chiudere tutti i documenti di TeXShop prima di consentire all'applicazione di aggiornarsi.

    
risposta data 20.10.2013 - 07:12
fonte

Leggi altre domande sui tag