&tag(iPhoneSDK, Objective-C, UIKit, three20); *目次 [#j257e9c8] #contents *参考情報 [#qbfacefa] iPhoneのUI関連の便利クラス集。ライセンスはApache License。 #pre{{ Three20 is a collection of iPhone UI classes, like a photo viewer, and general utilities, like an HTTP disk cache. Three20 is derived from the Facebook iPhone app, which is one of the most downloaded iPhone apps ever. }} -[[facebook's three20 at master - GitHub:http://github.com/facebook/three20]]…公式GitHub。 -[[Three20 JSON datasource implementation:http://revetkn.com/?p=62]]…解説サイト。 -[[Doxygen | iphoneアプリで稼げるのか:http://iphone.longearth.net/tag/doxygen/]]…使用例。 -上記サンプルは古いので[[Three20 JSON Example Project:http://revetkn.com/?p=72]]の下の方にあるGitHubリポジトリからダウンロードしたほうがいいかもしれない。 *ダウンロード [#fdbd05a6] http://github.com/facebook/three20からダウンロード git clone http://github.com/facebook/three20.git 以下は自分用 git clone git@github.com:src256/three20.git *サンプル・TTRemoteExamplesのビルド [#aaaa101d] http://github.com/klazuka/TTRemoteExamplesにすぐにビルドできるサンプルがある。 #pre{{ git clone http://github.com/klazuka/TTRemoteExamples.git cd TTRemoteExamples git submodule update --init TTRemoteExamples.xcodeprojを開く }} *プロジェクトへの組み込み手順(2010/10/28(木)) [#m4127d44] **参考情報 [#w8cb16da] -[[公式サイト:http://github.com/facebook/three20]]…下の方に手順が乗っている。 -[[【Three20】をプロジェクトで使えるようにする手順 | iphoneアプリで稼げるのか:http://iphone.longearth.net/2009/05/17/%e3%80%90three20%e3%80%91%e3%82%92%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e3%81%a7%e4%bd%bf%e3%81%88%e3%82%8b%e3%82%88%e3%81%86%e3%81%ab%e3%81%99%e3%82%8b%e6%89%8b%e9%a0%86/]] **前準備[#ue3dd1b1] Navigationベースでデモプロジェクトを作成。名前はThree20Demo。 **three20の組み込み [#q8f8cd52] + three20のgitプロジェクトからソースコードをダウンロードする。 git clone http://github.com/facebook/three20.git + Finderでthree20/src/Three20/Three20.xcodeprojをThree20Demoプロジェクトの「グループとファイル」ペインにドロップ。 --「デスティネーショングループのフォルダに項目をコピーする」のチェックはオフ。 --参照タイプは「プロジェクトを基準」。 #ref(drop.jpg) +Xcodeで先ほどドロップしたThree20.xcodeprojを新たに開く。「Dependencies」グループを開き、そこにあるxcodeprojファイルを全て、Three20Demoにドロップする。Three20Demoプロジェクトには次のリストが追加された状態になる。 #pre{{ Three20Core Three20Network Three20Style Three20UICommon Three20UINavigator Three20UI Three20 }} +Three20のstaticライブラリをプロジェクトにリンクする必要がある。サイドバーで追加したプロジェクトを選択する。右側の詳細タブにlibThree20.aやlibThree20Core.aのようなライブラリファイルがたくさん見えるので、一番右側にあるチェックボックスをチェックする(UnitTest以外)。これによりThree20フレームワークのそれぞれの部分をプロジェクトにリンクすることになる。 +Three20のstaticライブラリをプロジェクトにリンクする必要がある。サイドバーで追加したプロジェクトを選択する。右側の詳細タブにlibThree20.aやlibThree20Core.aのようなライブラリファイルがたくさん見えるので、それぞれの行の一番右側にあるチェックボックスをチェックする(UnitTest以外)。これによりThree20フレームワークのそれぞれの部分をプロジェクトにリンクすることになる(libThree20-Xcode3.2.5.aのように末尾にXcodeがついたのはチェックしない?)。 +Three20の依存関係を追加する必要がある。サイドバーの「ターゲット」セクションを開き、ターゲットをダブルクリックする。一般タブの直接依存関係で"+"ボタンを押し、「Three20」とその他のlibファイルを選択しターゲットに追加を押す。 +画像と文字列バンドルを追加するには、「three20/src」以下にあるThree20.bundleをThree20Demoプロジェクトにドロップする。 --フォルダ参照を作成するにチェック。 --コピーするのチェックを外す。 --参照タイプは「プロジェクトを基準」。 #ref(drop2.jpg) +QuartzCoreフレームワークをプロジェクトに追加する。 +プロジェクトの設定でビルドタブを選択し、「ヘッダ検索パス」にthree20/Build/Products/three20を追加(相対パスになるようにする)。 +ビルドタブで"他のリンカフラグ"に"-ObjC"と"-all_load"を追加。 +#import "Three20/Three20.h" できるようになる。