質問: mac os xはファイルの関連付け情報をどこに保存しますか? mac os x leopardでファイルの関連付けを手動で変更するシステム設定ペインがあることは知っています。しかし、leopardが実際にこれらの情報をどこに保存するのか興味がありますか?それらを変更する方法には興味がありません。これらのマッピングが保存されている構成ファイルまたはデータベース(windowsのレジストリなど)を知りたい。
回答: @doug harrisの答えは部分的にしか正しくありません。デフォルトシステムは、ファイルの関連付けに対するローカルの追加または上書きを保存します。ただし、os xには、デフォルトでシステム全体に関連付けられています。lsregister -dumpを実行すると、launch servicesがcoretypesと呼んでいるものと、アプリケーションが提供する関連付けが表示されます。/system/library/frameworks/coreservices.framework/frameworks/launchservices.framework/versions/current/support/lsregister -dump 出力を徹底的にスキャンしていません。そのダンプには他のソースが示されている可能性がありますが、これらのタイプの多くは/system/library/coreservices/coretypes.bundleからのものです。型が列挙されている場所に、プレーンテキストまたはplistファイルがある場合があります。関連付けは、既知のアプリケーションの場所にある* .appのコンテンツをスキャンすることから来ると私は信じています。ここで、launch servicesは、textwranglerが多数のファイルタイプのエディターであることを理解します。-------------------------------------------------------------------------------- bundle id: 10928 path: /applications/textwrangler.app name: textwrangler identifier: com.barebones.textwrangler (0x8000008d) ... library items: -------------------------------------------------------- claim id: 20216 name: textwrangler text document rank: default roles: editor flags: relative-icon-path icon: contents/resources/textwranglertextdoc.icns bindings: .a, .asm, .asp, .bashrc, .c, .c++, .cc, .cfm, .conf, .cp, .cpp, .cshrc, .css, .cxx, .equ, .f, .f77, .for, .ftn, .h, .h++, .hpp, .htm, .html, .inc, .j, .java, .js, .jsp, .log, .m, .mm, .p, .pas, .pch, .pch++, .php, .php3, .pl, .plist, .plx, .pm, .ppu, .r, .rb, .rez, .rhtml, .rss, .s, .sql, .shtm, .shtml, .tcl, .tcshrc, .text, .txt, .wml, .xhtml, .xml, .xsl, .xslt, .yaml, 'text' ...