繁体   English   中英

如何在我的Sprite Kit游戏应用中实现Facebook和Twitter发布?

[英]How to implement Facebook and Twitter posting in my Sprite Kit game app?

我已经尝试了我在Stack Overflow和在线上其他地方看到的所有内容,但是我不知道如何从我的SKScene类中呈现一个viewController。 我有3个场景,其中一个场景有名为“ buttonFacebook”和“ buttonTwitter”的Facebook / Twitter节点。 我正在使用Switch语句来检查touchesBegan中的节点名称。

我可以找到的最好的帖子是,我认为最接近完成此操作的地方是: swift spritekit Facebook分享按钮

在我的SKScene类“ GameSceneGamePlay”内部,如果我的Switch能够识别何时触摸Facebook按钮,我便拥有此Case:

case "facebook":
        func showTweetSheet() {
            let tweetSheet = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
            tweetSheet.completionHandler = {
                result in
                switch result {
                case SLComposeViewControllerResult.Cancelled:
                    //Add code to deal with it being cancelled
                    break

                case SLComposeViewControllerResult.Done:
                    //Add code here to deal with it being completed
                    //Remember that dimissing the view is done for you, and sending the tweet to social media is automatic too. You could use this to give in game rewards?
                    break
                }
            }

            tweetSheet.setInitialText("Test Twitter") //The default text in the tweet
            tweetSheet.addImage(UIImage(named: "TestImage.png")) //Add an image if you like?
            tweetSheet.addURL(NSURL(string: "http://twitter.com")) //A url which takes you into safari if tapped on

            self.presentViewController(tweetSheet, animated: false, completion: {
                //Optional completion statement
            })
        }

当我尝试执行self.presentViewController(tweetSheet,animation:false,....“ GameSceneGamePlay没有名为presentViewController的成员时,我得到一个错误。

我试图从上面引用的帖子中使用这2条语句来触发该函数,但是我无法克服presentViewController的错误。

NSNotificationCenter.defaultCenter().postNotificationName("facebookPost", object: nil)

NSNotificationCenter.defaultCenter().addObserver(self, selector: "showTweetSheet", name: "facebookPost", object: nil)

有人可以给我一些建议,如何解决这个错误,或者是否/如何需要创建一个新的viewController? 我尝试用UIViewController创建一个类,但也无法显示它。

您的问题是您试图通过GameSceneGamePlay呈现一个UIViewController,但是在您撰写本文时,GameSceneGamePlay是SKScene的实例,而不是UIViewController。

presentViewController是在UIViewController而非SKScene上找到的方法,这就是为什么会出现错误的原因。

为了解决这个问题,你可以继续到呈现你的SKScene,如描述的UIViewController参考这篇文章 ,然后问这个视图控制器来展示您的tweetSheet。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM