アプリケーションを作成する... さて、アプリケーションを作成する際には、 機能などを基準にいくつかのモジュールに分けて作成するでしょう。 大きなまとまりはライブラリとして作成することが多いと思います。 そこで、Mac OS X におけるライブラリ... フレームワークの作成について扱います。
フレームワークを構築するために、まず Xcode を起動し、プロジェクトを作成します。 Xcode のメニューより、[ファイル] - [新規プロジェクト...] を選択します。
Cocoa Framework を選択し、[次へ] をクリックします。
適当なディレクトリとプロジェクト名を指定して、プロジェクトウィザードを完了します。 ここで指定したプロジェクト名はデフォルトでフレームワーク名としてそのまま使用されます。
プロジェクトを作成したら、フレームワークの実装を行います。 ここでは仮に一つのクラスを追加します。 「グループとファイル」のプロジェクトのコンテキストメニューから、 [追加] - [新規ファイル...] を選択します。
Cocoa の Objective-C class を選択します。
[次へ] をクリックしてクラスについての設定を行います。通常はクラス名に ".m" をつけたファイル名を指定しておけばよいでしょう。 必要に応じて保存場所を変更します。
ここでは簡単なメソッドひとつだけを定義しておきます。
「グループとファイル」のプロジェクトを選択し、 コンテキストメニューから [情報を見る] を選択します。
ゼロリンクはそのままでも良いのですが、 正しくフレームワークが読み込まれなかった時に、 そのことが明確にわかるようにとりあえず off にしておきます。
次に、ターゲットの設定を行います。「グループとファイル」 のターゲット設定項目のコンテキストメニューから、[情報を見る] を選択します。
ターゲットの設定ではインストールパスという重要な設定項目があります。 フレームワークをアプリケーションにバンドルして配布する場合、 ターゲットの設定を変更する必要があります。 一方フレームワークを使用するコンピュータにインストールする場合であれば、 特に変更は必要ありません。 共有ライブラリの配布が目的であれば、そのままで良いわけです。
ここでは、アプリケーションにフレームワークをバンドルする場合に 必要な設定を説明します。上のように、インストールパスに @execute_path/../frameworks/ を設定します。また、 インストールをスキップの項目のチェックをはずします。
このような設定をおこなうと、 フレームワークはアプリケーションバンドルの frameworks ディレクトリ以下にコピーすることになります。 これについては次のアプリケーション作成で説明します。
さらにフレームワークを作成する際にターゲットの設定でもうひとつ 忘れてはならないことがあります。ライブラリのヘッダファイルを公開することです。 デフォルトのままフレームワークをビルドすると作成されたフレームワークには ヘッダが含まれません。これを含めるようにするには、「グループとファイル」 のターゲットの設定項目のツリーを開き、ヘッダファイルのグループを開きます。 ライブラリに含めたい公開するヘッダファイルの役割の項目を public に変更します。 これで、ビルド後のフレームワークにヘッダが含まれるようになります。