やっぱグレートなプログラマになりたいっす。
2012-02-15
■[iOS][iPhne][iPad]iOS5のTwitter APIを使って実装してみる
最近、iOS5に追加されたTwitter APIを作ってTwitterに呟く機能を実装してみました。解説がいらないくらい簡単です。Twitter連携していて採用出来る環境の人は、是非使うべきでしょう。
まずはこれ
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でどんどんリリース出来て新規のユーザが獲得できるのであれば、ある程度旧バージョンのユーザを置き去りにするというのもありなのかもしれません。企業として出しているアプリであれば、その決断はなかなか出来ませんが、個人としては考慮に値するでしょう。
- 25 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cts=1331722830382&ved=0CDoQFjAA&url=http://d.hatena.ne.jp/dkfj/20120215/1329260044&ei=SnpgT_eIMIiYmQXhz_2JCA&usg=AFQjCNEK8owyzRrc1mZa7PCIwzlr2akSRQ&sig2=imBe2Zn5l9HRHFbCZ4IU4w
- 25 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDsQFjAD&url=http://d.hatena.ne.jp/dkfj/20120215/1329260044&ei=tQNwT-nrNcjAmQXI2czjDA&usg=AFQjCNEK8owyzRrc1mZa7PCIwzlr2akSRQ&sig2=hMZ8_KVVCZHRrAcT9T_qRQ
- 20 http://www.google.co.jp/url?sa=t&rct=j&q=ios5 twitter api&source=web&cd=7&ved=0CE8QFjAG&url=http://d.hatena.ne.jp/dkfj/20120215/1329260044&ei=Sss_T9OVD6qYiAf5oeHNBA&usg=AFQjCNEK8owyzRrc1mZa7PCIwzlr2akSRQ&sig2=LIGD11jxlCTQ3MD4MkXFgA
- 16 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDMQFjAB&url=http://d.hatena.ne.jp/dkfj/20120215/1329260044&ei=ukBsT_nQNKTmmAWR5_C2Bg&usg=AFQjCNEK8owyzRrc1mZa7PCIwzlr2akSRQ&sig2=WhZQiVE2zbreInCbkyP7SA
- 16 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CDYQFjAC&url=http://d.hatena.ne.jp/dkfj/20120215/1329260044&ei=69FlT7W5LMTkmAXPoYCtCA&usg=AFQjCNEK8owyzRrc1mZa7PCIwzlr2akSRQ&sig2=03LTt04cPKyeCso8zHfKPw
- 12 http://htn.to/HugciN
- 10 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&cts=1331015001270&ved=0CEUQFjAE&url=http://d.hatena.ne.jp/dkfj/20120215/1329260044&ei=D6lVT8PAI5GaiQfd36THCA&usg=AFQjCNEK8owyzRrc1mZa7PCIwzlr2akSRQ&sig2=ooS8xNzvICdCyzJz_7iIuQ
- 10 http://www.google.co.jp/url?sa=t&rct=j&q=ios twitter api&source=web&cd=1&ved=0CDQQFjAA&url=http://d.hatena.ne.jp/dkfj/20120215/1329260044&ctbs=qdr:m&ei=zGRVT62_I4m8rAff9Mm5DQ&usg=AFQjCNEK8owyzRrc1mZa7PCIwzlr2akSRQ
- 10 http://www.google.co.jp/url?sa=t&rct=j&q=ios5 twitter api 認証&source=web&cd=2&ved=0CCoQFjAB&url=http://d.hatena.ne.jp/dkfj/20120215/1329260044&ei=jWM7T434Ds_xmAXk7sSZCw&usg=AFQjCNEK8owyzRrc1mZa7PCIwzlr2akSRQ&sig2=KiHnYd-rw
- 8 http://moba-mac.blogspot.jp/2012/03/twrequest-class-reference.html








