Could not cast value of type 'UIView' (0x112484eb0) to 'SKView' (0x111646718)
Simple fix. You just have to change the View in which every view controller your using from UIView to SKView.
Go to your Storyboard, select your UIViewController that contains the SpriteKit game, and select the view from left menu:
Now go to Identity Inspector and make sure Class is SKView
and not UIView
:
You should now be able to compile this part of code from your UIViewController
:
// Configure the view.
SKView * skView = (SKView *)self.view;
Or in Swift:
let skView = self.view as! SKView
For those who are not wanting to use a Storyboard
, you can simple create the view as an SKView
in the ViewController
's loadView
function.
class ViewController: UIViewController {
override func loadView() {
self.view = SKView()
}
override func viewDidLoad() {
let skView = view as! SKView
...
}
}