iOS5.0のTwitter APIを使って文字や画像をTweetする方法(TWTweetComposeViewController)

iOS5.0からはTwitter機能が正式にサポートされるようになった。

iOS4.3以前は、OAuthConsumerやXAuthTwitterEngineなど、外部ライブラリを使ってTwitterと連携するのが一般的で、その手順も少々面倒だった。

それに比べ、iOS5.0 SDKで追加されたTwitter関連の機能はとても簡単。

今回新たに追加されたTwitter関連のクラスは以下の2つ。
 ・TWTweetComposeViewController
 ・TWRequest

このうち、今回紹介するのは"TWTweetComposeViewController"
このクラスを使うと、とても簡単なコードで文字や画像をTweetすることができる。

やり方はこんな感じ(↓)

①プロジェクトにTwitter.frameworkを追加

 ※フレームワークの追加方法は、以前ブログに書いたので以下を参照
  Xcode4の使い方 - フレームワークを追加する方法

②ヘッダファイルをインクルード
ファイルの先頭に以下のコードを記述する。


#import <Twitter/TWTweetComposeViewController.h>


③Tweet用ダイアログを表示するコードを追加

TWTweetComposeViewControllerのインスタンスを生成して、デフォルトのテキストと必要に応じて画像を追加する。あとは、presentModalViewControllerでモーダル表示するだけ。Tweetが成功またはキャンセルされると、completionHandlerで設定したハンドラが呼び出されるので、引数に応じて完了処理やエラー処理を行えば良い。


    // ビューコントローラの初期化
    TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init];
   
    // 送信文字列を設定
    [tweetViewController setInitialText:@"iOS5.0 Twitter送信テスト"];
   
    // 送信画像を設定
    [tweetViewController addImage:[UIImage imageNamed:@"test.png"]];
   
    // イベントハンドラ定義
    tweetViewController.completionHandler = ^(TWTweetComposeViewControllerResult res) {
        if (res == TWTweetComposeViewControllerResultCancelled) {
            NSLog(@"キャンセル");
        }
        else if (res == TWTweetComposeViewControllerResultDone) {
            NSLog(@"成功");
        }
        [self dismissModalViewControllerAnimated:YES];
    };
   
    // 送信View表示
    [self presentModalViewController:tweetViewController animated:YES];


このコードを実行すると、このような画面が表示される。
tweet.jpg

iOS側でアカウント設定をしていない場合、アラートメッセージが表示され、アカウント設定を促される。アカウント設定済みの場合は、アラートの後ろに表示されているダイアログで送信文字の編集と位置情報追加、Tweetが可能となる。

ちなみに、このフレームワークを追加してiOS4.3シミュレータで起動しようとすると、アプリの起動すら出来なかった。実機で試した訳ではないが、対応バージョンには注意しよう。リファレンスを読む限り、全てのAPIはiOS5.0以降となっている。

最後にもう一点、Tweetが可能な状態になっているかどうかを返すメソッドもあるようだ。


    // Twitter送信ビューが利用できるかどうか判定
    if (TWTweetComposeViewController.canSendTweet) {
        NSLog(@"利用可能");
    }
    else {
        NSLog(@"利用不可");
    }



Twitter機能が使えない環境や、アカウント設定が行われていない場合はNOを返す。

このエントリーをはてなブックマークに追加

テーマ : プログラミング
ジャンル : コンピュータ

コメント

非公開コメント

iPhoneアプリ紹介
パズルナビ for パズドラ 2016
最強のコンボツール!
colorization-large-icon.png

スクリーンショットを読み込むとコンボを自動計算してくれるパズドラの攻略アプリです。


AirRuler
(簡易距離計)

リモートで簡単に距離を測定できるアプリ!
colorization-large-icon.png

目標地点に向けてiPhoneを傾けるだけで簡単に距離を測定できます。ゴルフの距離測定機能付きパターの代わりにも使えます。


補色残像アート
~見えない色が見えてくる~
白黒なのにカラーに見えてしまう不思議な映像を体験しよう!
colorization-large-icon.png

補色残像という目の錯覚を利用して、白黒写真がカラーに見える不思議な映像を作成できます。作成した映像は、アニメGIFに変換したり、Twitterに投稿することもできます。


タイピング革命
フリック練習はタイピング革命で!ネットランキングで盛り上がろう!
icon-l-typing.jpg

オンラインランキング上のプレイを閲覧できるリプレイ機能付き!フリック入力とローマ字入力に完全対応したタイピング練習アプリです。初心者も安心のトレーニングモード付き。

★なんと!あのAppBank様に紹介して頂きました!!
typing-sale-led.gif


簡単3Dカメラ
iPhoneで手軽に3D写真を楽しもう!平行法/交差法/アナグリフ/グラグラ3Dに対応。
icon-l-3d.jpg

2枚の写真を撮影するだけで、裸眼で立体視できる3D写真が作成できます。85円でステレオ写真もアナグリフも楽しめるのは簡単3Dカメラだけ!

プロフィール

あらきんぐ☆

Author:あらきんぐ☆
はじめまして。あらきんぐです。
4月からiPhoneを購入し、その魅力に取り付かれて、気がついたらアプリ開発の道へ!仕事でプログラム開発をしていますが、基本「動けばOK!」な適当エンジニアです。適当でもアプリは作れる!っていう事を、ブログを通じて証明していきたと思います。

最新記事
最新コメント
最新トラックバック
カテゴリ
FC2カウンター
全記事表示リンク

全ての記事を表示する

Twitter
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
アクセスランキング
[ジャンルランキング]
コンピュータ
317位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
46位
アクセスランキングを見る>>
オススメ商品
iPhone/iPodと一般オーディオを繋ぐ貴重なアイテム!
アプライドオリジナルアイテム MBB...

アプライドオリジナルアイテム MBB...
価格:3,980円(税込、送料別)

開発中級者にオススメ!「こんなことができるんだ!」と驚かされる一冊
【送料無料】iPhone...

【送料無料】iPhone...
価格:1,500円(税込、送料別)

安い!シンプル!カッコいい!
希少なiPhone対応キーボード内蔵ケース