Twitterにつぶやくよ!

オリエンテーションてオリエンテーリングと間違ってわくわくしてがっかりしちゃうよねこんにちは!

実はいまだにObjective-CでTwitterへの投稿の仕方がよくわからないおはずかし状態なんだけど、なんか動くものはできちゃったよ!
↓参考ページ(このページだけで目的ほぼ完成します)
TwitterのOAuth認証を使う - 強火で進め

使ったライブラリは↑で使ってる ”Twitter-OAuth-iPhone”
「投稿」処理自体もまるめてくれる便利ライブラリです。
必要最低限の機能だけ実装してるライブラリ探してたけど、未だに実装できない状態なのでやむなく。
すごい便利だけど、すごい負けた感があるので、時間があるときにライブラリの中身はのぞいておきたいと思います。

  1. ライブラリファイルダウンロードしてくる
  2. 新規プロジェクトつくる
  3. ライブラリ群の開ファイルの「Twitter+OAuth」ディレクトリ以下をプロジェクトに追加

で環境は整います。
DEMO(サンプルソース)に「投稿」の処理と、OAuthなのにPINのバックグラウンドでの入力/認証までやってくれちゃう処理があるので、これを参考に(というかコピペ)します。
処理内容は、OAuthTwitterDemoViewController.hとOAuthTwitterDemoViewController.mまるごとコピればDEMOと同じアプリが出来上がります。(たぶん)

DEMOだと1つのView上で、

  • 実行時に、ユーザ認証が完了していなければ認証画面を表示

    ->ユーザの認証を行う(ついでにPINのバックグラウンドでの入力/認証も)

  • 実行時に、ユーザ認証が完了していれば ”@"Already Updated. %@", [NSDate date]” を投稿する

という処理になっています。

上記のviewDidAppear:内で実行されています。
処理の条件はifで明確に分かれており、投稿処理は、

[_engine sendUpdate: [NSString stringWithFormat: @"Already Updated. %@", [NSDate date]]];

だけ。

↑の処理だけ新規メソッドとして作ってボタンから呼び出すと、以下のようなアプリのできあがーりになります。

  • 実行されたときに、認証が終わっていなければ認証画面を表示->投稿画面を表示
  • 実行されたときに、認証が終わっていれば投稿画面を表示
  • 投稿画面はボタンのみ
  • ボタンを押すと「固定の文字列(と時間)」を表示する


やったね☆

結局、Twitter APIへポストするときの条件とか引数とかフォーマットとかが理解できてますん。
オープンソースのTwitterクライアントのソースもいろいろ見たけど、ソース読み取るだけの知識が足りないのとコンパイルエラー発生したときに解決するための知識が足りないことを体感実感。
あと、結局外部ライブラリ使ったけど、ライブラリ使うための前知識が足りなさすぎて使うための優しい解説がないと使えないし、応用もできない状態。たぶん勉強する順番間違ってるんだろうと思われ。
無駄に時間過ごしたよ!世の中無駄なんて無いよ!

\げんきです/