1

Evening all, I have an App that has been in the App Store a couple of months. The game core is a SCNScene with a SKScene as a 2D overlay for controls.

Since upgrading my iPhone XS to iOS 13.0 the game runs for about 1 second, then freezes. Pausing the code in the debugger and looking at the trace I can step through and see it is in a loop,

libsystem_kernel.dylib__psynch_rw_wrlock libsystem_pthread.dylib_pthread_rwlock_lock_wait

The above are the highlights of the trace. If I look back in the trace it falls back to the AppDelegate as the source.

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

Running Xcode Version 11.0 (11A420a) which did also update so unsure if that is related.

A little bit baffled - I know I have not supplied any code to fix here, but I really feel this is not code related, something is either wonky in my Xcode environment or this is a bug introduced by Apple?

If I remove the Heads up Display (the 2D aspect) by commenting out the code,

view.overlaySKScene = HUD

The App runs fine. If I recreate the HUD code with an empty SKScene even that gets stuck back in a loop.

If I run the app from the AppStore - using the exact version of the code uploaded - it works fine. It also works fine in the simulator when compiled fresh from Xcode.

Just not on my iPhone XS, or another test iPhone XR, so thinking this will likely affect any iOS 13.0 updated device.

Sulthan
  • 128,090
  • 22
  • 218
  • 270
Dave B
  • 11
  • 1
  • Ok I can replicate this fault on the space ship demo code. Added a simply SKScene overlay with no code that does anything and after about 1 second of spinning the ship stops. 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") } } – Dave B Sep 23 '19 at 06:41
  • Urgh so that didn't format very well, not sure how to report faults to Apple - but off to find out! – Dave B Sep 23 '19 at 06:44

2 Answers2

0

EDIT: iOS 13.1 arrives today.

I believe I have the same problem. SceneView gets stuck with overlaySKScene, otherwise the App is running. when I remove overlaySKScene then SceneView runs fine.

Br, Marek

M. P.
  • 107
  • 1
  • 10
  • 1
    Kind of nice to hear that I am not the only one... I have replicated this multiple times now to verify it is not something I am doing wrong. Have posted on the Apple Developer forums too. I will update if I receive a fix. – Dave B Sep 23 '19 at 10:42
0

Not sure this counts as an answer - but at best a work around...

Disable Metal API validation (Click your build target -> Edit Scheme -> Options -> Metal API Validation -> Disabled)

This has fixed the issue for me.

Dave B
  • 11
  • 1