我完全迷失了,我发现的所有教程都是针对带有Storyboard的iOS 6应用程序。我的问题是你是否可以在sprite-kit游戏中拥有推特或Facebook共享功能?如果是这样,添加它的最佳方法是什么?我读过的很多教程都使用了viewcontrollers,但sprite-kit使用了场景,所以我有点困惑。
感谢。
答案 0 :(得分:11)
这是twitter的答案。欢迎你!
1)在Build Phases选项卡下导入Social框架,然后在Link Binary和Libraries中导入。将此代码放在您要共享的SKScene顶部。
#import <Social/Social.h>
2)使用以下代码在-(id)initWithSize:(CGSize)size
方法中添加推文按钮:
SKSpriteNode *tweetButton = [SKSpriteNode spriteNodeWithImageNamed:@"share"];
tweetButton.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)-150);
tweetButton.name = @"tweet";
[self addChild:tweetButton];
3)在您的touchesBegan:
方法中,输入以下代码来处理点击推文按钮并撰写推文
if ([node.name isEqualToString:@"tweet"]) {
// Create an instance of the Tweet Sheet
SLComposeViewController *tweetSheet = [SLComposeViewController
composeViewControllerForServiceType:
SLServiceTypeTwitter];
// Sets the completion handler. Note that we don't know which thread the
// block will be called on, so we need to ensure that any required UI
// updates occur on the main queue
tweetSheet.completionHandler = ^(SLComposeViewControllerResult result) {
switch(result) {
// This means the user cancelled without sending the Tweet
case SLComposeViewControllerResultCancelled:
break;
// This means the user hit 'Send'
case SLComposeViewControllerResultDone:
break;
}
};
// Set the initial body of the Tweet
[tweetSheet setInitialText:@"This is my tweet text!"];
// Adds an image to the Tweet. Image named image.png
if (![tweetSheet addImage:[UIImage imageNamed:@"image.png"]]) {
NSLog(@"Error: Unable to add image");
}
// Add an URL to the Tweet. You can add multiple URLs.
if (![tweetSheet addURL:[NSURL URLWithString:@"http://twitter.com/"]]){
NSLog(@"Error: Unable to URL");
}
UIViewController *controller = self.view.window.rootViewController;
[controller presentViewController:tweetSheet animated: YES completion:nil];
}
答案 1 :(得分:1)
这可能会有所帮助。 ShareKit
这是将Facebook,Twitter和其他社交网络服务集成到您的应用中的简便方法。