表題のエラーが出た時の対処法です。
下のようにSpriteKitで独自Sceneを定義してそれを呼び出した時に発生しました。
let scene = StartScene() class StartScene: SKScene { override init() { super.init() } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
スタックトレースを見たところ、親クラスのinitからinit(size: CGSize)を呼んでいました。
素直にinit(size: CGSize)を定義したら無事に動くようになりました。
let scene = StartScene() class StartScene: SKScene { override init() { super.init() } override init(size: CGSize) { super.init(size: size) } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
この時、init(size: CGSize)で渡されるサイズは1x1です。
Sceneを画面サイズに合わせたかったので、最終的に下のようにinit(size: CGSize)を使うようにしました。
let scene = StartScene(size: CGSize()) class StartScene: SKScene { override init(size: CGSize) { super.init(size: size) } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }