I've asked this question before (to no avail), and it follows up a more recent inquiry about the same app.
I have a GameScene called from the body of a SwiftUI view. App deployment is set to iOS 14.0. On xCode simulators and an iPhone13 (all using iOS 15), the app works as designed. However, on an iPhone8 using iOS 14.8, it does not work: Print statements to the console indicate that didMove(toView: SKView) is inexplicably being called twice: once when expected and then after the a startGameAction() function is called. The game flashes on the screen for a moment, but then (as didMove() gets called a second time, the view changes to the initial state. But the game is "running" in the background; the music is playing and when the timer runs out, the "Round Over" info is displayed normally. If it helps, I uploaded the project to github if any kind and curious person would like to take a look. Thanks!