Streetとあるフリープログラマの頭ん中。CommentsめっきりiPhoneアプリ構築中です。Twitterクライアントをいくつか作ってみたいので、API呼び出しなどの共通部分をライブラリとして外出ししようとした時のメモ書きです。参考にしたのは以下のサイトです。風日記Xcodeでアプリのプロジェクトにライブラリのプロジェクトを追加したりね。このブログは証明できない。Library」テンプレートよりプロジェクトを作成します。「グループとファイル」内、「Classes」に実装ファイルを入れていきますが、実ファイル階層はフラットになっているので、必要に応じてFinderなりで階層を作ってグループの情報からパスを設定する必要があります。ユニットテストXcodeでは、「SenTestingKit.framework」というユニットテストのフレームワークがあります。Bundle」を選択し、適当な名前を付けて保存します。そのままではテスト実行時にエラーになるので、追加したターゲット内「スクリプトを実行」の「情報を見る」とテスト実行スクリプトが表示されるので、これを修正します。(フォルダごと)選択して追加します。テスト実装テスト用のグループを「TestClasses」として準備しておきます。(グループ名はなんでもいいです。class」を選択し、適当な名前をつけて保存します。ファイル名を入力するダイアログにある「ターゲット」で、テスト用のターゲットのみを選択するようにします。ヘッダファイルは作成せずに、mファイルに同居させてしまったほうが管理が楽になります。テストコードを実装します。release];}@endアクティブターゲットをテストターゲットに変更してビルドすると、、、エラーになります。テスト対象の実装がありませんので。実装というわけで実装します。class」を選択し、適当な名前をつけて保存します。ここで、ターゲットは実際のターゲットとテスト用ターゲットの両方共チェックをつけておきます。name];}@endさて、ビルドしてみると、無事に「問題なく完了しました」。ターゲットを元に戻してビルドすると、オブジェクトファイルが出来ます。注意:カテゴリについてObjective-Cでは、カテゴリという機能を使って実装ファイルを分割したり、既存のクラスに機能を追加したりすることができますが、最終的に実行ファイルをビルドする際に、リンカのバグによってカテゴリを実装したファイルがリンクされません。これを防ぐために、カテゴリを実装する.mファイルに、ダミーの実装を付けておけばいいようです。(Sample)・・・@endFIXCATEGORYBUG_HELLO_SAMPLEの部分は他と被らない名前をつけておきます。ライブラリの組み込みライブラリを組み込むプロジェクトを作成します。表示されるようになります。ドラッグして、ビルドターゲットの「バイナリをライブラリにリンク」にドロップします。ユーザーヘッダ検索パスプロジェクトの「情報を見る」→「ビルド」タブ内の「ユーザー検索パス」に、ヘッダの位置を指定します。組み込むプロジェクトからの相対パスで指定する場合には、${SRCROOT}/../path/to/headerのように指定すればいいです。その他のリンカフラグライブラリ側でカテゴリなどを使っていると、リンカフラグを設定しないといけないようです。プロジェクトの「情報を見る」→「ビルド」タブ内の「その他のリンカフラグ」に、-ObjCと指定します。実装あとはライブラリを利用して実装していき、ビルドすれば出来上がり!・・・のハズ。BackgroundsAdSenseこのブログはクリエイティブ・コモンズでライセンスされています。Typeこのブログはクリエイティブ・コモンズでライセンスされています。