SKScene Overlay stuck in loop

Since upgrading my phone to iOS 13 my App has ceased working. Working back through the code the problem goes away if I remove the heads up display (SKScene overlay on SCNScene).


I can replicate the fault in the default 'spinning aeroplane' demo in XCode. Adding even a blank SKScene causes it to get stuck in an endless loop,


let test2d = Test2D(size: CGSize(width: 100, height: 100))

scnView.overlaySKScene = test2d

scnView.overlaySKScene!.scaleMode = .resizeFill


with Test2D being


import SpriteKit

import GameplayKit


var width, height : CGFloat!


class Test2D: SKScene {


override init (size: CGSize) {

super.init(size: size)

width = size.width

height = size.height

}


required init(coder: NSCoder) {

fatalError("Error")

}


}


I cannot be the only person with this fault - anyone else able to replicate it?

Replies

As a workaround, I recommend that you try running your app with Metal API validation disabled (Click your build target -> Edit Scheme -> Options -> Metal API Validation -> Disabled).


Additionally, please file a bug report for this issue using our feedback assistant tool at: https://developer.apple.com/bug-reporting/

I am having the same problem on the phone. It is working fine in the simulator though.