2012年2月11日土曜日

iPhoneアプリにTwitter投稿機能をつける

iOS 5から導入された Twitter Framework のおかげで、アプリにツイート機能を簡単に組み込むことができるようになりました。
入力インターフェースも備わっていますので、本当に面倒なこと一切なしです。

早速、組み込んでみましょう。
準備として、プロジェクトに Twitter.framework をリンクします。

入力インターフェースを備えたツイート機能を組み込む場合、TWTweetComposeViewController を使用します。名前から分かる通り、これは UIViewController のサブクラスです。

そして、TWTweetComposeViewController をインスタンス化する前に、事前にツイートが可能かどうかチェックする必要があります。

#import <Twitter/Twitter.h>
  :
if ([TWTweetComposeViewController canSendTweet]) {
  // ツイート可能!
  :
}

このツイート可能かどうかというのは、設定アプリの Twitter 設定の以下の内容によります。

  • 1つ以上のアカウントを登録している。
  • アプリにツイート(アカウント使用)の許可が設定されている。


アプリによっては独自にツイート機能を組み込んでいる場合があるので、そういうアプリはここには表示されないようです。(少なくとも Temple Run は表示されてない)

canSendTweet から YES が返ってくるようなら、TWTweetComposeViewController をインスタンス化して、初期メッセージを設定します。
初期メッセージを用意しておくことによって、ユーザーに不必要な文字入力をさせずにすみます。
if ([TWTweetComposeViewController canSendTweet]) {
  TWTweetComposeViewController *controller = [[TWTweetComposeViewController alloc] init];
  [controller setInitialText:@"初期メッセージ:はじめてのツイート"];
  [self presentModalViewController:controller animated:YES];
}

最後に、presentModalViewController:animated: で、ツイート用インターフェースをモーダル表示させます。

URL アドレスを付けることも可能です。たとえば、以下のようにします。
  NSURL *url = [NSURL URLWithString:@"http://www.apple.com/jp/"];
  [controller addURL:url];
addURL メソッドからは、ツイートにアドレスを付加できるかどうか BOOL 値が返ってきます。注意したいのは、URLの文字数とツイートの文字数を足して 140文字を越えない場合でも、NO が返ってくる場合があることです。なので、アドレスを追加する場合は、ツイート文字数に余裕をもたせた方が良いでしょう。

その他にも addImage メソッドで、UIImage をツイートに付加させることができるようです。こちらはまだ試していませんが、難しいことはなさそうです。

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...