Twitterへのツイートの実装方法

前のエントリーで書いたようにiOS5SDKに標準で追加されたためTwitterへのツイート機能の実装のハードルが下がり、1時間もあれば余裕で実装可能となりました。ATND暦で行なった実装した手順について書きます。



Twitter.frameworkのインポート

プロジェクトのターゲットを選択してBuild PhasesよりTwitter.frameworkを追加



Twitter.hのインクルード

実装したいViewControllerにTwitter.hをインクルード

#import <Twitter/Twitter.h>

TWTweetComposeViewControllerをモーダル表示

ツイート編集画面を表示するアクションにて、
TWTweetComposeViewControllerを生成してpresentModalします。
iOS5 SDKならブロックが使えるので通信のコールバックを拾いComposeViewControllerをdismissします。

    TWTweetComposeViewController *tweetViewController = [[[TWTweetComposeViewController alloc] init] autorelease];
    [tweetViewController setInitialText:@"ツイート初期文字列"];
    
    [tweetViewController setCompletionHandler:^(TWTweetComposeViewControllerResult result) {
        if (result == TWTweetComposeViewControllerResultDone) {
            NSString *message = @"ツイートしました.";
            UIAlertView *alert = [[[UIAlertView alloc]  initWithTitle:nil 
                                                          message:message
                                                         delegate:nil 
                                                cancelButtonTitle:@"閉じる" 
                                                otherButtonTitles:nil] autorelease];
            [alert show];
        }
        [self dismissModalViewControllerAnimated:YES];
    }];
    [self presentModalViewController:tweetViewController animated:YES];

Twitter投稿可否の制御を行う

iOS4以前を利用している、iOS5でまだTwitterのアカウント設定を行なっていない場合などを想定して、ツイート可能かチェックします。具体的にはボタンをdisableにするなどに利用します。

    if (![TWTweetComposeViewController canSendTweet]) {
        //ボタン非表示等
    }


と以上の手順だけです。


今までは、Twitterのクライアント申請してKeyをもらい、MGTwitterEngine等のOAuth認証モジュールに頼りながら頑張って認証画面を作り認証情報を管理してツイート画面もせっせと作ってと、ツイート投稿の実装だけでも最低でも1週間くらいはかかったんですが、iOS5ではあっさり作れちゃいます。


全くTwitterに関係ないアプリだとしてもアプリ宣伝のため実装することをオススメします。