Libraryディレクトリ


Libraryディレクトリ【日本語環境のGUI上では「ライブラリ」】は、アプリケーション固有、およびシステム固有のリソースを記録するために用いられる、特別なディレクトリです。ファイルシステムの各ドメインは、そのドメインの種類に応じたアクセスレベルの、Libraryディレクトリの各自のコピーを持ちます。(ドメインについての議論は、「ファイルシステムのドメイン」(11ページ)を参照してください。)

アプリケーションはこのディレクトリを、内部データや一時ファイルを記録するために使用することができますが、アプリケーションバンドルそのものや、ユーザのデータファイルの記憶領域としては意図されていません。アプリケーションバンドルは適切な/Applicationディレクトリに、またユーザデータはユーザのホームディレクトリに属します。

重要:あなたは、ユーザデータファイルをLibraryディレクトリや、そのサブディレクトリに記録すべきではありません。もしあなたのアプリケーションがユーザのデータを自動的に記録するのであれば―つまり、ユーザに場所を指定させないのであれば―あなたは、ユーザのホームディレクトリの内部の、もっと適切な場所(普通はDocuments【GUI上は「書類」】ディレクトリ)を選択するべきです。ユーザディレクトリの一覧は、「ユーザドメイン」(12ページ)を参照してください。

Libraryディレクトリは、多数の標準的なサブディレクトリを含んでいます。システムルーチンは標準的なサブディレクトリの多くが存在していることを想定しているので、Libraryのサブディレクトリを削除するのは決してよい案となることはないでしょう。

けれども、アプリケーションは、アプリケーション固有のデータを記録するために、必要に応じて新しいサブディレクトリを作成して構いません。

表 1は、Libraryディレクトリにみられるディレクトリのいくつかを列挙しています。あなたは、あなたのソフトウェアが対応する必要のあるファイルをどこに置くかを決めるために、この表を用いる必要があります。

この一覧は完全ではありませんが、開発者にとって最も関わりのあるディレクトリのいくつかを挙げています。すべてのドメインには現れないディレクトリについては、適宜注釈を加えています。

表 1Libraryディレクトリのサブディレクトリ

サブディレクトリ ディレクトリの内容
ApplicationSupport

アプリケーション固有のデータ、およびサードパーティ製プラグイン、ヘルパーアプリケーション、テンプレートといった補助ファイル、そしてアプリケーションによって使用されるけれども、処理のためには必須とされない追加リソースを格納します。

このディレクトリには、いかなる種類のユーザデータも決して格納すべきではありません。

慣例として、これらの項目のすべては、アプリケーションの名前を取ったサブディレクトリの中に置かれます。たとえば、MyAppというアプリケーションのためのサードパーティ製リソースは、ApplicationSupport/MyApp/へ置かれることになるでしょう。

必須のリソースはアプリケーションバンドル自体の内部に置くべきである、という点に注意してください。

Assistants 設定や、その他の作業においてユーザを補助するプログラムを格納します。
Audio オーディオプラグインや、デバイスドライバを格納します。

サブディレクトリ ディレクトリの内容
Caches

必要に応じて再生成できる、キャッシュされたデータを格納します。アプリケーションは決してキャッシュファイルの存在に依存すべきではありません。

キャッシュファイルは、アプリケーションのバンドル識別子に一致する名前のディレクトリに置く必要があります。

キャッシュデータは、必要に応じてユーザごと、もしくはセッションごとのサブディレクトリにさらに分割すべきです。(ユーザ固有のガイドラインについては、Mac OS X Documentationの、Multiple User Environmentsを参照。 )

ColorPickers HLS(色相、彩度、明度【Hue Angle、Saturation、Lightness】)ピッカーやRGBピッカーといった、特定の形式に一致した色彩選択のためのリソースを格納します。
ColorSync ColorSyncプロファイルとスクリプトを格納します。
Components システムバンドルと拡張【extensions】を格納します。
Contextual Menu Items システムレベルのコンテキストメニューを拡張するためのプラグインを格納します。
Documentation

ユーザとコンピュータの管理者のために意図した資料ファイルとアップルヘルプパッケージを格納します。(アップルヘルプパッケージは、Helpサブディレクトリに置かれます。)

ローカルドメインでは、このディレクトリはアップルによって同梱された(開発者向け資料を除く)ヘルプパッケージを格納します。

Extensions デバイスドライバや、その他のカーネルエクステンションを格納します。(システムドメインでのみ利用できます。)
Favorites 頻繁に利用されるフォルダ、ファイル、ウェブサイトへのエイリアスを格納します。(ユーザドメインでのみ利用できます。)
Fonts 表示と印刷の両方のためのフォントファイルを格納します。
Frameworks フレームワークと共有ライブラリを格納します。システムドメインのFrameworksディレクトリは、アップル提供のフレームワーク専用です。開発者は、彼らのカスタムフレームワークをローカルドメインかユーザドメインのどちらかにインストールする必要があります。
Internet Plug-ins ウェブブラウザの内容のためのプラグイン、ライブラリ、フィルタを格納します。
Keyboards キーボード定義を格納します。
Logs コンソールと特定のシステムサービスのためのログファイルを格納します。ユーザもこれらのログを、コンソール アプリケーションを用いて見ることができます。
Mail ユーザのメールボックスを格納します。(ユーザドメインでのみ利用できます。)
PreferencePanes システム環境設定 アプリケーションのためのプラグインを格納します。開発者は、彼らのカスタム環境設定ペインを、ローカルドメインにインストールする必要があります。
Preferences ユーザ環境設定を格納します。ユーザ環境設定についての情報は、Runtime Configuration Guidelinesを参照してください。
Printers

システムドメインとローカルドメインでは、このディレクトリはプリンタドライバ、PPDプラグイン、プリンタを設定するために必要なライブラリを格納します。

ユーザドメインでは、このディレクトリはユーザの利用可能なプリンタ設定を格納します。


サブディレクトリ ディレクトリの内容
QuickTime QuickTimeコンポーネントと拡張を格納します。
Screen Savers スクリーンセーバ定義を格納します。スクリーンセーバ プラグインを作成するために用いられるインタフェースの説明は、Screen Saver Framework Referenceを参照してください。
ScriptingAdditions AppleScriptの機能を拡張するスクリプトやスクリプティング リソースを格納します。
Sounds システム警告音を格納します。
StartupItems 起動時に実行される、システムおよびサードパーティ製のスクリプトやプログラムを格納します。(起動時のプロセス開始に関する詳細は、System Startup Programming Topicsを参照。)
Web Server ウェブサーバの内容を格納します。このディレクトリはserved【サーバ処理?】されるCGIスクリプトやウェブページを格納します。(ローカルドメインでのみ利用できます。)