web-dev-qa-db-ja.com

Mac OS Xはファイルの関連付け情報をどこに保存しますか?

Mac OS X Leopardでファイルの関連付けを手動で変更するシステム設定ペインがあることは知っています。しかし、Leopardが実際にこれらの情報をどこに保存するのか興味がありますか?

それらを変更する方法には興味がありません。これらのマッピングが保存されている構成ファイルまたはデータベース(Windowsのレジストリなど)を知りたい。

25
Mehrdad Afshari

申し訳ありませんが、この質問は古いですが、答えは本当に間違っています。

Toolbearが述べたように、Doug Harrisの答えは部分的にしか正しくありません。

Launch Services Databaseファイルは、all既知のアプリケーションの情報のallと、それらが処理できるドキュメントのタイプが格納されている場所です。次の場所にあります:

ライオン:

/private/var/folders/**/**/-Caches-/com.Apple.LaunchServices-034501.csstore

ユキヒョウ:

/private/var/folders/**/**/-Caches-/com.Apple.LaunchServices-025501.csstore

ヒョウ:

/Library/Caches/com.Apple.LaunchServices-023501.csstore

/private/var/folders/フォルダーには、各ユーザーの「安全な」キャッシュと一時フォルダーが格納されます。上記のパスの**は、/dl/dlXWtS5WH9SNboPxxrDIyE+++TI/のようなものか、推測を防ぐためのあいまいな文字シーケンスです。

名前com.Apple.LaunchServices-025501.csstoreは、Snow Leopardに固有の501サフィックスに追加されたユーザーID(私のものは-025)で構成されることに注意してください。 (OS Xの各バージョンでは、Appleは、OS Xの異なるバージョン間の互換性の問題を防ぐために使用される識別サフィックスを変更する傾向があります。Leopardが-023を使用していることに気づくでしょう)。 Lionは-034サフィックスを使用しています。

13
NSGod

OS Xは「デフォルト」システムを使用します-ここに 良い記事 があり、たくさんの例があります。ファイルは〜/ Library/Preferencesに保存されますが、plistを直接編集するのではなく、「defaults」コマンドを使用して操作することをお勧めします。

ファイルの関連付けは、com.Apple.LaunchServicesドメインの下に保存されます。上記のリンクから、次のコマンドでリストを確認できます。

defaults read com.Apple.LaunchServices | grep -v LSBundleLocator

Launch Servicesの詳細については、Appleの Launch Servicesプログラミングガイド を参照してください。

18
Doug Harris

@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'
    ...
15
toolbear74

かんたん簡単!それは最も明白な場所ではないということです。

  • 関連付けを変更するファイルを右クリックして、「Get Info」を選択します(または単に選択してCommand+I
  • Opens With」に移動し(横にある矢印をクリックして展開する必要がある場合があります)、ドロップダウンボックスから別のプログラムを選択します。
  • すべて変更...」ボタンをクリックして、システム上の同じ拡張子のすべてのファイルに対するこのファイルの関連付けを変更します。

enter image description here

RCDefaultApp prefpaneをインストールして、すべてのファイルの関連付けを1か所で変更することもできます。

2
Josh Hunt