ユーザーが twitter にサインオンしていることを確認したいので、ios と twitter が設定されている場合にのみ、ツイートを投稿するように促すことができます。また、Twitter画面をデフォルトのツイートで設定する方法はありますか?
1255 次
2 に答える
5
iOS 5.x の場合、ユーザーが Twitter にサインインしているかどうかを確認するには、次のコマンドを使用します。
[TWTweetComposeViewController canSendTweet]
ツイート画面にデフォルトのメッセージを表示するには、次のようなことができます。
TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];
[tweetSheet setInitialText:defaultMsg];
[self presentModalViewController:tweetSheet animated:YES];
詳細については、このチュートリアルを参照してください。
編集:以上の場合iOS 6.0
は、次を使用します:
// requires "Social.framework"
[SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]
したがって、使用例は次のようになります。
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
{
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
[controller dismissViewControllerAnimated:YES completion:Nil];
};
controller.completionHandler = myBlock;
[controller setInitialText:@"#myHashTag"];
[controller addImage:myImage];
[self presentViewController:controller animated:YES completion:Nil];
}
else
{ /* Show error alert, etc*/ }
于 2013-02-15T16:12:15.720 に答える
2
コメントで述べたように、IOS 5 以降のバージョンを使用している場合はTwitter.framework
、プロジェクトに追加するだけです
#import <Twitter/Twitter.h>
//post tweets
- (IBAction)postTapped:(id)sender{
if ([TWTweetComposeViewController canSendTweet])
{
TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];
[tweetSheet setInitialText:@" #hashtag"];
[self presentModalViewController:tweetSheet animated:YES];
}
else
{
TWTweetComposeViewController *viewController = [[TWTweetComposeViewController alloc] init];
//hide the tweet screen
viewController.view.hidden = YES;
//fire tweetComposeView to show "No Twitter Accounts" alert view on iOS5.1
viewController.completionHandler = ^(TWTweetComposeViewControllerResult result) {
if (result == TWTweetComposeViewControllerResultCancelled) {
[self dismissModalViewControllerAnimated:NO];
}
};
[self presentModalViewController:viewController animated:NO];
//hide the keyboard
[viewController.view endEditing:YES];
}
}
于 2013-02-15T16:16:16.780 に答える