iOSアプリ開発においてFrameworkを自作する方法【手順1】

Appleが提供するライブラリの多くも「.framework」ファイルで提供されており、iOSアプリ開発におけるライブラリの一般的な形式の一つと言える。
しかし、「.framework」ファイルを作成しようとXcodeのテンプレートを探しても該当するものが存在しない。
今回はiOSアプリ開発において「.framework」ファイルを自作する方法を紹介する。

<注意>
Xcode6で「Cocoa Touch Framework」というテンプレートが追加されたが、筆者はこのテンプレートについて熟知していない。
もしかしたら、このテンプレートを使用すれば、簡単に「.framework」ファイルが作成できるかもしれない。
今回紹介する方法は、Xcode5系でも使用できる方法である。

「.framework」ファイルを自作する方法に関しては、下記のサイトで非常に丁寧に紹介されている。
iPhoneアプリ開発自作Frameworkをつくる
ただ、少し古いバージョンのXcodeで説明されているので、現時点の最新版である「Xcode6.1」における方法を紹介する。

手順は下記の5ステップとなる。少し長くなるので、各手順に分けて説明する。

<手順概要>
手順1.プロジェクトを作成する(本記事)
手順2.Property Listを作成する
手順3.Targetを作成し、Run Scriptを設定する
手順4.Frameworkで実行したい処理をクラスとして追加する
手順5.Frameworkをビルドし利用する

<手順詳細>
1.プロジェクトを作成する

Xcodeを起動し、「Create a new Xcode project」を押下する

表示された「Choose a template for your new project:」のダイアログで「iOS」->「Framework & Library」->「Cocoa Touch static Library」を選択し、【Next】ボタンを押下する。

続いて表示されたダイアログの「Product Name」に任意プロジェクト名を入力する(今回は「FrameworkSample」とした)。
また、「Organization Identifier」に任意の文字列を入力する(今回は「lab.moonmt」とした)。この文字列は「手順2」で使用するのでメモしておくこと。
最後に【Next】ボタンを押下する。

続いて表示されたダイアログで、プロジェクトを作成するフォルダを選択し、【Create】ボタンを押下する

表示されたXcodeのメイン画面のプロジェクトツリーが、下記の様な状態であることを確認する。

プロジェクトツリー上のプロジェクト名がつけられたフォルダの配下に、「Headers」「Methods」「Resources」の3つのフォルダを新規に作成する。
「Headers」は「.h」ファイル、「Methods」は「.m」ファイル、「Resources」は「設定」ファイルを格納するために作成する。

プロジェクト名がつけられたフォルダを右クリックし、「Add Files to "<プロジェクト名>"」を押下する。

表示されたダイアログの【New Folder】ボタンを押下する。
さらに表示されたダイアログに「Headers」を入力し、【Create】ボタンを押下する。
さらに【Add】ボタンを押下する。

「Methods」「Resources」フォルダについても、上記の方法で追加する。

プロジェクトツリーが下図の様な状態になった事を確認する。

プロジェクト名がつけらたクラスのファイル(FrameworkSample.h、FrameworkSample.m)は不要なので削除する。
FrameworkSample.hを右クリックし、【Delete】を押下する。

表示された確認ダイアログの【Move to Trash】ボタンを押下する。

FrameworkSample.mについても、上記の方法で削除する。

プロジェクトツリーが下記の様な状態になった事を確認する。

以上で「手順1.プロジェクトを作成する」が完了となる。

Enjoy Programing!!

<関連記事>
iOSアプリ開発においてFrameworkを自作する方法【手順1】(本記事)
iOSアプリ開発においてFrameworkを自作する方法【手順2】
iOSアプリ開発においてFrameworkを自作する方法【手順3】
iOSアプリ開発においてFrameworkを自作する方法【手順4】
iOSアプリ開発においてFrameworkを自作する方法【手順5】

<お勧め書籍>

詳解 Objective-C 2.0 第3版
iOSアプリ開発技術者として仕事をするのであれば、必ず読んでおくべき書籍である。
筆者も何度も繰り返し精読している。