Twitterをアプリに統合する方法について、このすばらしいチュートリアルに従っています。プログラマーがiOS5より前にTwitterを統合するために使用した方法は他にもあることは知っていますが、私の質問は次のとおりです。
私のアプリはiOS3.0以降をサポートしているので、iOS 5の方法だけを使用してTwitterを統合した場合、iOS 5を使用していないユーザーにどのような影響がありますか?それは彼らのためにも機能しますか?
ありがとう!
Twitterをアプリに統合する方法について、このすばらしいチュートリアルに従っています。プログラマーがiOS5より前にTwitterを統合するために使用した方法は他にもあることは知っていますが、私の質問は次のとおりです。
私のアプリはiOS3.0以降をサポートしているので、iOS 5の方法だけを使用してTwitterを統合した場合、iOS 5を使用していないユーザーにどのような影響がありますか?それは彼らのためにも機能しますか?
ありがとう!
iOS 5ユーザーのみがTwitterを利用できるようにして問題がない場合は、次の方法でTwitterが利用できるかどうかを確認できます。
// Don't forget to import Twitter!
#import <Twitter/Twitter.h>
....
if([TWTweetComposeViewController class] != nil) {
// your code here
}
また、Twitterフレームワークを追加するときは、オプションとして設定していることを確認してください。
Twitterアプリ/統合はiOS5でのみ利用可能であるため、公式のAPIフレームワークは残念ながら機能しません。
良い解決策は、Twitter、Facebook、その他のソーシャルネットワークサポートを統合できる無料のAPIであるShareKitを使用することです。
DETweetComposeViewControllerを調べる必要があります。この目的のためだけに構築しました。これは、TWTweetComposeViewControllerのiOS4互換の再実装です。
弱いリンクと次のようなコードを使用します。
- (void)tweet
{
Class tweeterClass = NSClassFromString(@"TWTweetComposeViewController");
if(tweeterClass != nil) {
if([TWTweetComposeViewController canSendTweet]) {
TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init];
tweetViewController.completionHandler = ^(TWTweetComposeViewControllerResult result) {
if(result == TWTweetComposeViewControllerResultDone) {
}
[self dismissViewControllerAnimated:YES completion:nil];
};
[self presentViewController:tweetViewController animated:YES completion:nil];
} else {
#if !(TARGET_IPHONE_SIMULATOR)
[self displayAlert:@"You can't send a tweet right now, make sure your device has an internet connection and you have at least one Twitter account setup."];
#else
NSString *tweetString = [NSString stringWithFormat:@"http://mobile.twitter.com/home?status=%@%@", [self urlEncode:@"Check out this awesome pic: "] ,[self urlEncode:[_blobTweet.shortUrl absoluteString]]];
NSURL *tweetURL = [NSURL URLWithString:tweetString];
if ([[UIApplication sharedApplication] canOpenURL:tweetURL]) {
[[UIApplication sharedApplication] openURL:tweetURL];
}
#endif
}
} else {
// no Twitter integration could default to third-party Twitter framework
}
}
@end