Come funziona l'associazione documenti-applicazioni in Mac OS X?
  • Faq 75 per eliminare i doppioni dal menu contestuale “Apri con”

Quando clicchiamo su un documento, Mac OS X lancia automaticamente un'applicazione in grado di aprirlo.
Ma come fa Mac OS X a sapere quali applicazioni sono in grado di gestire un certo documento? Il servizio deputato a questa funzione si chiama LaunchServices.
LaunchServices ha un proprio database in cui sono contenute tutte le applicazioni installate e i tipi di documento che ognuna di queste dichiara di saper gestire.
La dichiarazione è contenuta, nel caso delle applicazioni in bundle, all'interno del file Info.plist; nel caso delle applicazioni a singolo file, dentro la risorsa plst. Nel database, le applicazioni sono identificate dal creator e i tipi di documento sono specificati dal type (come nelle precedenti versioni del Mac OS) e, in aggiunta, dall'estensione del nome del file, novità introdotta in Mac OS X. Quando clicchiamo su un documento, nel caso in cui NON abbiamo specificato nessuna preferenza al riguardo, la procedura seguita da LaunchServices è questa:

  1. se nel file è specificato il creator, cerca le applicazioni corrispondenti;
  2. altrimenti, se il nome del file termina con un'estensione, cerca le applicazioni che dichiarano di poter aprire i file con quell'estensione (il confronto delle estensioni è case insensitive);
  3. altrimenti, se nel file è specificato il type, cerca le applicazioni che dichiarano di poter aprire i file con quel type.

Nel caso in cui sia disponibile più di un'applicazione in grado di gestire uno stesso tipo di documento, LaunchServices si regola in questo modo:

  1. seleziona la prima applicazione dalla collezione dando la precedenza alle applicazioni native rispetto a quelle che girano sotto Classic;
  2. nel caso in cui siano presenti più versioni dell'applicazione scelta, lancia la versione più recente.

Come accennato sopra però, l'utente può definire delle proprie preferenze su quali applicazioni debbano aprire determinati documenti. Lo si fa dal pannello Info del Finder, nella sezione Apri con.
È possibile impostare delle preferenze per il singolo documento (in questo caso verrà specificato il path dell'applicazione scelta all'interno della resource fork del documento). Oppure si possono impostare le preferenze per tutti i file dello stesso tipo, cliccando sul pulsante "Modifica Tutto..." (in questo caso la preferenza verrà inserita all'interno del file ~/Library/Preferences/com.apple.LaunchServices.plist).
Da notare che per "stesso tipo" LaunchServices intende quella specifica combinazione di creator, type ed estensione che il documento considerato ha. Questo a volte può portare dei problemini: ad esempio un documento che ha la sola estensione ".pdf" non è considerato dello stesso tipo di un documento che abbia l'estensione ".pdf", il type "PDF " e il creator "CARO" (il codice di Acrobat). In casi come questo bisogna specificare le proprie preferenze per ogni tipo diverso.

Per maggiori informazioni:

[ Home | Elenco delle FAQ | Forum | Segnalazioni | Risorse | Feed RSS ]