忍者ブログ
プログラミングとか日常とかの覚書っぽいなにか
[25] [24] [23] [22] [21] [20] [19] [18] [17] [16] [15]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

現在、Objective-Cの勉強がてら、iPhone向けのTwitterクライアントを作ってみるなどという挑戦をしているので、メモ書き程度につらつらとご紹介。

Twitterクライアントを作ると言っても、OAuth認証などの専門的で面倒な部分を自分で実装するほどの気力はないので、既存のライブラリを使っていこうと思います。

iPhoneアプリの開発なのでMacが必要です。
開発環境(XCode, iOS SDK)はすでにインストールされているものとします。

(2012/06/19)
iOS5/ARC対応版の記事を書きましたので、そちらを参照してください。この記事の内容は古いです。


ここで使用していくライブラリは以下の3つです。
  • GTMOAuth (Google Toolbox for Mac - OAuth Controllers)
  • GTMHTTPFetcher (Google Toolbox for Mac - HTTP Fetcher)
  • SBJson (json-framework)

GTMOAuthとGTMHTTPFetcherのダウンロード

GTMOAuthとGTMHTTPFetcherはそれぞれ以下で公開されています。

GTMOAuth Project Home (英語)
http://code.google.com/p/gtm-oauth/

GTMHTTPFetcher Project Home (英語)
http://code.google.com/p/gtm-http-fetcher/

ただし、GTMHTTPFetcherはGTMOAuthライブラリの中に含まれている(というか、GTMOAuthが内部でGTMHTTPFetcherを利用している)ので、GTMOAuthの方だけダウンロードすればOKです。

最新のGTMOAuthライブラリはSVN(Subversion)というバージョン管理ツールを使用してWeb上で管理されており、ターミナル上でsvnコマンドを使用してダウンロードしてくることができます。
「アプリケーション」→「ユーティリティ」→「ターミナル」を起動し、ダウンロードしたいディレクトリ(フォルダ)まで移動(cdコマンド)してから以下のように入力すると、そのディレクトリの下に「gtm-oauth」というフォルダが作成され、現在の最新のソースを取得できます。
svn checkout http://gtm-oauth.googlecode.com/svn/trunk/ gtm-oauth
c14c3ab9.png

以下の通りファイルが展開されます。
Sourceフォルダの中にGTMOAuthライブラリの各種クラスのソースファイルがあります。また、HTTPFethcherフォルダの中にはGTMHTTPFetcherライブラリのソースファイルが格納されています。
3c889894.png


SBJson (JSON Framework) のダウンロード

SBJsonライブラリは以下で公開されています。

SBJson
http://stig.github.com/json-framework/

「Download」からZIP形式のアーカイブをダウンロードできます。 また、こちらの場合はGitと呼ばれるバージョン管理ツールにより最新ソースが管理されているので、ターミナルから以下のようにgitコマンドを使用して現在の最新のソースを取ってくることができます。
git clone git://github.com/stig/json-framework
51c35f8b.png

以下の通り展開されています。
c3cedae0.png


Twitterクライアントの登録

今回作成するクライアントアプリケーションの情報をTwitterに登録しておきます。

Twitter Applications
http://dev.twitter.com/apps

Twitterにサインインした後、上記のページから「Register a new app」を選択し、新しく登録するプログラムの情報を入力します。

この時、「Application Type」で「Client」ではなく「Browser」の方を選択しておかなければならないことに注意してください。現在のGTMOAuthはこちらのApplication Typeでしか使用することができないためです。
「Browser」を選択する場合には同時に「Callback URL」を指定しなければなりませんが、このURLを実際に使用することがないため、存在しないURLを指定することができます。
ここでは「http://www.example.com/OAuthCallback」を指定しています。

「Default Access Type」については、タイムラインの取得などの読み込みのみであれば「Read-only」でよいですが、ツイートを許可する場合には「Read, Write, & Direct Messages」または「Read & Write」を選択する必要があります。
5194495f.png

ここで入力する情報は後から変更することができますので、適当に入力していきましょう。

クライアントアプリケーションを登録すると、アプリケーションに「consumer key(コンシューマー・キー)」と「consumer secret(コンシューマー・シークレット)」という2つのキーコードが割り当てられます。この2つのキーはOAuth認証で使用されるもので、後でGTMOAuthライブラリに渡してやる必要がありますので、これをメモしておいてください。


XCodeプロジェクトの作成

XCodeを起動してプロジェクトを作成します。
今回は、あらかじめテーブルビューが作られる「Navigation-based Application」を選択しておきましょう。

GTMOAuthライブラリに含まれるもののうち、以下のソースファイルをプロジェクトのソースファイルがあるフォルダにコピーして、プロジェクトに追加します。FinderからソースファイルをXcodeのプロジェクトビューにドラッグ&ドロップすることでも追加することができます。
  • gtm-oauth/Source フォルダ内
    • GTMOAuthAuthentication.h
    • GTMOAuthAuthentication.m
    • GTMOAuthSignIn.h
    • GTMOAuthSignIn.m
  • gtm-oauth/Source/Touch フォルダ内
    • GTMOAuthViewControllerTouch.h
    • GTMOAuthViewControllerTouch.m
    • GTMOAuthViewTouch.xib
  • gtm-oauth/HTTPFetcher フォルダ内
    • GTMHTTPFetcher.h
    • GTMHTTPFetcher.m

次に、SBJsonライブラリのソースファイルも同様にプロジェクトに追加します。
こちらは「Classes」フォルダに含まれているすべてのソースファイルを追加しておきます。

それぞれライブラリごとにグループを作成しておくとよいと思います。
31ac31d5.png

最後に、以下のフレームワークライブラリをリンクするように設定します。
  • Security.framework
  • SystemConfiguration.framework

Xcode3では、プロジェクトビューの「Frameworks」グループを右クリックし、「追加」→「既存のフレームワーク...」を選択して、上記の2つのフレームワークライブラリを追加します。
73c5ec28.png

XCode4(英語版)の場合、プロジェクトファイルを選択し、
「TARGET」内の実行ファイル名
→「Build Phases」
→「Link Binary With Libraries」
と開き、追加ボタン「+」を押して、上記の2つを追加します。
6330e65c.png


ここまでで、開発の準備段階が完了です。
この時点でビルドを行い、ビルドが正常に完了すれば、開発の準備は整ったことになります。

今回はここまでです。プログラムを書いていくのは次回へ持ち越しです。

拍手

PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


忍者ブログ [PR]
プロフィール
HN:
はむぱい
職業:
ソフト作ったりしてる人
Twitter
最新CM
[06/09 replica rolex oyster perpetual datejust]
[06/09 bracelets imitation cartier love]
[06/09 replica the oyster perpetual datejust]
[06/09 datejust rolex oyster perpetual]
[06/09 replica gold love bangle]
カレンダー
08 2017/09 10
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログ内検索
あ~いい漢字