cocos2dでツイートダイアログ表示

cocos2dで作成したゲーム上に、iOS5以降で追加されたツイートダイアログを表示するやり方です。

おなじみのダイアログが表示されます。

アプリからiOSTwitter機能の使用を許可されなかった場合、ブラウザでTwitterを開きます。

ソース

-(void)menuItemTapped:(id)sender
{
	NSString *tweet = @"テスト #テスト";
	
	if([TWTweetComposeViewController canSendTweet])
	{
		AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
		
		TWTweetComposeViewController *twitterVC = [[TWTweetComposeViewController alloc]init];
		[twitterVC setInitialText: tweet];
		twitterVC.completionHandler = ^(TWTweetComposeViewControllerResult res){
			
			[delegate.viewController dismissModalViewControllerAnimated:YES];
		};
		
		[delegate.viewController presentModalViewController:twitterVC animated:YES];
		
	}
	else {
		tweet = [NSString stringWithFormat: @"%@%@",@"http://twitter.com/home?status=",tweet];
		tweet = [tweet stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
		[[UIApplication sharedApplication]openURL:[NSURL URLWithString:tweet]];
	}
	
	tweet = nil;
}

SceneやLayerで呼び出して使うことができます。