最近、iOS5に追加されたTwitter APIを作ってTwitterに呟く機能を実装してみました。解説がいらないくらい簡単です。Twitter連携していて採用出来る環境の人は、是非使うべきでしょう。
まずはこれ
Tweeting Sample Code
TWTweetComposeViewController Class Reference
ソースサンプルと設定
まず設定のBuild Phasesで、Link Binary With LibrariesでTwitter.frameworkを追加します。
そのうえで、ViewControllerに下記のような感じで追加します。
TWTweetComposeViewControllerはUIVewControllerの拡張です。
#import <Twitter/Twitter.h> 〜略〜 - (void)_sendTweet:(NSString *)tweet url:(NSURL *)url { TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init]; NSLog(@"tweet=%@", tweet); [tweetViewController setInitialText:tweet]; if (url != nil) { NSLog(@"with url"); [tweetViewController addURL:url]; } [tweetViewController setCompletionHandler:^(TWTweetComposeViewControllerResult result) { switch (result) { case TWTweetComposeViewControllerResultCancelled: // The cancel button was tapped. NSLog(@"Tweet cancelled."); break; case TWTweetComposeViewControllerResultDone: // The tweet was sent. NSLog(@"Tweet done."); break; default: break; } // Dismiss the tweet composition view controller. [self dismissModalViewControllerAnimated:YES]; }]; [self presentModalViewController:tweetViewController animated:YES]; [tweetViewController release], tweetViewController = nil; }
メソッドの解説
メソッドも非常にシンプルで解りやすいです。
- (BOOL)addImage:(UIImage *)image
画像の追加
- (BOOL)addURL:(NSURL *)url
URLの追加
- (BOOL)removeAllImages
全ての画像の削除
- (BOOL)removeAllURLs
全てのURLの削除
- (BOOL)setInitialText:(NSString *)text
初期に追加する文言の設定
感想
最近リリースしたアプリをiOS5専用で出したので使ってみました。iOS5限定ということで、堂々とiOSのTwitter APIを利用してみました。これが超絶に楽です。本当に5分くらいでコーディング完了できました。これを実感すると、アプリの性格によっては常に最新のiOSのみ対応するという選択肢もあるんではないかなと思います。また、各種のレポートがiPhone/iPadユーザはかなり高い確率で、最新のOSを使っているというレポートがあります。
考え方の問題ですが、最新のOSでどんどんリリース出来て新規のユーザが獲得できるのであれば、ある程度旧バージョンのユーザを置き去りにするというのもありなのかもしれません。企業として出しているアプリであれば、その決断はなかなか出来ませんが、個人としては考慮に値するでしょう。