facebook - Presenting UIViewController from SKScene? -


so @ beginning having trouble implementing social media sharing project using swift/sprite-kit. believe have accomplished cannot trigger methods, or seems everybody's struggle, cannot present view controller skscene. first did, create buttons on endgame scene. on touchesended method called nsnotificationcenter. this:

import spritekit import uikit import social  class endgamescene: skscene {  var facebookbutton: sknode! = nil var twitterbutton: sknode! = nil   required init?(coder adecoder: nscoder) {     super.init(coder: adecoder) }  override init(size: cgsize) {     super.init(size: size)      // facebookbutton     facebookbutton = skspritenode(imagenamed: "facebookbutton")     facebookbutton.position = cgpoint(x: self.size.width * 0.3 , y: self.size.height * 0.45);     addchild(facebookbutton)      // twitterbutton     twitterbutton = skspritenode(imagenamed: "twitterbutton")     twitterbutton.position = cgpoint(x: self.size.width * 0.5 , y: self.size.height * 0.45);     addchild(twitterbutton)   }  override func touchesended(touches: nsset, withevent event: uievent) {      touch: anyobject in touches {          let location = touch.locationinnode(self)          if facebookbutton.containspoint(location) {            nslog("button tapped")            nsnotificationcenter.defaultcenter().postnotificationname("facebookid", object: nil)          }          if twitterbutton.containspoint(location) {             nslog("button tapped")             nsnotificationcenter.defaultcenter().postnotificationname("twitterid", object: nil)          }       }  } 

then created socialviewcontroller methods supposed triggered of nsnotificationcenter show sheets. code used it:

import uikit import social  class socialviewcontroller: uiviewcontroller {  override func viewdidload() {     super.viewdidload()     nsnotificationcenter.defaultcenter().addobserver(self, selector: "showtweetsheet", name: "twitterid", object: nil)     nsnotificationcenter.defaultcenter().addobserver(self, selector: "showfacebooksheet", name: "facebookid", object: nil) }  func showtweetsheet() {     let tweetsheet = slcomposeviewcontroller(forservicetype: slservicetypetwitter)     tweetsheet.completionhandler = {         result in         switch result {         case slcomposeviewcontrollerresult.cancelled:             break         case slcomposeviewcontrollerresult.done:             break         }     }      tweetsheet.setinitialtext("test twitter")     tweetsheet.addimage(uiimage(named: "testimage.png"))     tweetsheet.addurl(nsurl(string: "http://twitter.com"))     self.presentviewcontroller(tweetsheet, animated: false, completion: {     }) }  func showfacebooksheet() {     let facebooksheet = slcomposeviewcontroller(forservicetype: slservicetypefacebook)     facebooksheet.completionhandler = {         result in         switch result {         case slcomposeviewcontrollerresult.cancelled:             break         case slcomposeviewcontrollerresult.done:             break         }     }     facebooksheet.setinitialtext("test facebook")     facebooksheet.addimage(uiimage(named: "testimage.png"))      facebooksheet.addurl(nsurl(string: "http://facebook.com"))      self.presentviewcontroller(facebooksheet, animated: false, completion: {     }) } 

i literally have no idea on might missing or doing wrong. i've read several posts on , using nsnotificationcenter supposed best way accomplish seems not working me. if there there me out appreciate it. in advance!

you can download facebook sdk https://github.com/facebook/facebook-android-sdk. , after create key hash using cmd prompt. more details create key hash see link https://developers.facebook.com/docs/android/getting-started


Comments

Popular posts from this blog

python - Mongodb How to add addtional information when aggregating? -

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

java - Incorrect order of records in M-M relationship in hibernate -