Я пытаюсь реализовать совместное использование через твиттер, и функция выглядит хорошо, но когда кнопка нажата, я получаю сообщение об ошибке в моей GameScene.Swift2 SpriteKit twitter share error
на этой линии линии: let skView = self.view as! SKView
Ошибка: Thread 1 SIGARBT
Ive застрял на этом весь день. Любая помощь будет большим
var vc = GameViewController()
vc.showTweetSheet() // button click causes error^^^
// Gameview
class GameViewController: UIViewController {
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: {
NSNotificationCenter.defaultCenter().postNotificationName("Whatever", object: nil)
})
}
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView //ERROR HAPPENS HEREE (ONLY ON CLK
skView.showsFPS = false
skView.showsNodeCount = false
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
scene.size = self.view.bounds.size
skView.presentScene(scene)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "ThisIsTheMethodName", name: "Whatever", object: nil)
}
}