最近、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でどんどんリリース出来て新規のユーザが獲得できるのであれば、ある程度旧バージョンのユーザを置き去りにするというのもありなのかもしれません。企業として出しているアプリであれば、その決断はなかなか出来ませんが、個人としては考慮に値するでしょう。