是否可以在精灵套装游戏中拥有Twitter / Facebook分享按钮?

时间:2014-05-04 18:51:31

标签: ios objective-c facebook twitter sprite-kit

我完全迷失了,我发现的所有教程都是针对带有Storyboard的iOS 6应用程序。我的问题是你是否可以在sprite-kit游戏中拥有推特或Facebook共享功能?如果是这样,添加它的最佳方法是什么?我读过的很多教程都使用了viewcontrollers,但sprite-kit使用了场景,所以我有点困惑。

感谢。

2 个答案:

答案 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和其他社交网络服务集成到您的应用中的简便方法。