There is errta in source code of page 267
// 3
func testForGameOver() {
if ballNode.presentation.position.y < -5 {
game.state = GameStateType.gameOver
game.playSound(node: ballNode, name: "GameOver")
ballNode.run(SCNAction.waitForDurationThenRunBlock(
duration: 5) { (node:SCNNode!) -> Void in
self.resetGame()
})
}
}
run has to be runAction