Mac OS X 資料一覧

バンドル構造を持つモジュールのファイル構成

2008/3/3更新

対応バージョン: 10.5(Leopard)

モジュールのファイル構成

アプリケーションやフレームワークなど、バンドル構造を持つモジュールは以下のようなファイル/ディレクトリ構成になっている。

まず対象となるモジュール名のディレクトリの中にContentsディレクトリを持つ。

例)

% ls -l /Applications/Safari.app
drwxrwxr-x  8 root  admin  272  2 13 02:24 Contents/

その中に以下のファイル/ディレクトリを持つ。モジュールによっては必要ないファイルやディレクトリもある。

CodeResources

Resourcesディレクトリ配下のファイルの使用目的などが定義されている。

Frameworksディレクトリ

アプリケーションで使用するライブラリがディレクトリ毎にまとめられている。

Info.plist

拡張子などの情報やアプリケーションの属性などが定義されている。

MacOS/<アプリケーション>

アプリケーション本体のバイナリが格納されている。

PkgInfo

バンドルの種類が定義されている。

例)

APPLemal (Mail)

APPLsfri (Safari)

APPLiPho (iPhoto)

APPLhook (iTunes)

APPLkeyn (Keynote)

Resourcesディレクトリ

アイコンファイルや言語別リソースが格納されている。

version.plist

アプリケーションのバージョン情報やビルド番号などが定義されている。

モジュールの種類

バンドル構造を持つモジュールには以下のような種類がある。

アプリケーション

Cocoaアプリと一部のCarbonアプリ。拡張子は「.app」。

例) iTunes

/Applications/iTunes.app

バンドル

バンドル構造を持つプログラム。拡張子は「.bundle」。

例) メールのデフォルトメッセージ

/private/etc/mail/DefaultMessages.bundle

コンポーネント

他のアプリケーションのコンポーネント(部品)として利用されるプログラム。拡張子は「.component」。

例) QuickTimeのコーデック

/Library/QuickTime/AppleIntermediateCodec.component

フレームワーク

ヘッダファイルや共有ライブラリなど。拡張子は「.framework」。

カーネルエクステンション(機能拡張)

カーネルの機能を拡張するモジュール。拡張子は「.kext」。

エクストラメニュー

メニューバーの右側に表示されるアドオン。拡張子は「.menu」。

パッケージ

インストーラが使用するパッケージファイル。拡張子は「.pkg」。

プラグイン

アプリケーションでアドオン利用可能なモジュール。拡張子は「.plugin」。

例) QuickTimeプラグイン

/Library/Internet Plug-Ins/QuickTime Plugin.plugin

システム環境パネル

システム環境設定に表示されるパネル。拡張子は「.prefPane」。

例) ネットワーク設定

System/Library/PreferencePanes/Network.prefPane

スクリーンセーバ

スクリーンセーバ。拡張子は「.saver」「.slideSaver」。

例) iTunesアートワークスクリーンセーバ

System/Library/Screen Savers/iTunes Artwork.saver

サービス

システムに常駐するタイプのサービス。拡張子は「.service」。

例) Spotlightサービス

System/Library/Services/Spotlight.service

ダウンロードファイル

Safariでダウンロード中のファイル。拡張子は「.download」。

Spotlightプラグイン

Spotlightで検索可能にするファイル種別毎のプログラム。拡張子は「.mdimporter」。

例) PDFファイル用プラグイン

/System/Library/Spotlight/PDF.mdimporter