Onde o Mac OS X armazena as associações de arquivos (por arquivo)?

4

Quando eu abro uma informação de arquivo, e mudo a aplicação responsável por aquele arquivo, onde esta sobrescrita é armazenada no sistema?

    
por Shachar Shemesh 29.09.2010 / 16:05

2 respostas

4

Os dados são armazenados na bifurcação de recurso do arquivo, que é armazenado como o atributo estendido com.apple.ResourceFork .

Veja o seguinte como exemplo -

Usando o Terminal , crie um arquivo de teste, chamando-o de "test.txt"

System:~ user$ touch test.txt

Por padrão, os arquivos de extensão "txt" são abertos com TextEdit . (A menos que você tenha modificado o padrão para todo o sistema.) No Localizador , altere a associação para outra coisa. Volte para o Terminal ..

 System:~ user$ ls -l@ test.txt

 -rw-r--r--@ 1 user  staff  0 Sep 29 11:21 test.txt
         com.apple.ResourceFork 1338

O símbolo @ indica que o arquivo possui atributos estendidos e ls -l@ lista os atributos como parte do formato longo.

Se você tiver as Ferramentas do desenvolvedor instaladas, poderá usar DeRez para inspecionar a bifurcação de recursos e verá o caminho do aplicativo selecionado na bifurcação.

É arcaico, obsoleto e poderia (corretamente) ser chamado de hack ... mas como o sistema de identificador de UTI e pacote é "incompleto", é o que a Apple usa.

    
por 29.09.2010 / 17:29
0

Não tenho certeza sobre o Mac OS X, mas o Mac OS (ou seja, o Classic) costumava armazenar isso na bifurcação de recursos de cada arquivo com duas informações: o código de tipo e o código do criador. Ambas eram seqüências de quatro bytes e, portanto, eram geralmente renderizadas como sequências de quatro caracteres. O código de tipo identificou o tipo do arquivo (por exemplo, TEXT para um arquivo de texto, APPL para um aplicativo), enquanto o < href="http://en.wikipedia.org/wiki/Creator_code"> código do criador identifica o aplicativo que criou o arquivo (por exemplo, ttxt para SimpleText ou MSWD para o Microsoft Word). Assim, um arquivo criado pela SimpleText abriria no SimpleText por padrão, enquanto ainda estava sendo identificado como um arquivo de texto e, portanto, compatível com o Microsoft Word, caso você escolhesse abri-lo manualmente com o Word.

O Snow Leopard não presta mais atenção aos códigos de tipo e criador, substituindo-os por UTIs , que são reminiscentes dos tipos MIME, embora mais flexíveis, e podem ser usados para especificar o programa padrão, bem como determinar quais programas são compatíveis com um determinado arquivo, mas não tenho certeza de como substituições individuais são feitas. / p>     

por 29.09.2010 / 16:53