web-dev-qa-db-fra.com

Application se bloquant avec UIApplicationEndBackgroundTaskError

Contexte: Mon application est faite en utilisant SwiftUI, qui est un jeu utilisant SpriteKit.

Lorsque j'appuie sur le bouton d'accueil de mon appareil, mon application rencontre une erreur appelée 'UIApplicationEndBackgroundTaskError'. Le journal ressemble à ceci:

Can't end BackgroundTask: no background task exists with identifier 1 (0x1), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

J'ai essayé de créer le point d'arrêt, mais cela ne me donne aucune information utile que je comprends. Il n'y a pas de journal, il montre simplement le Navigateur de débogage.

Debug Navigator

J'ai essayé d'enquêter sur l'origine du problème. Je viens d'ajouter quelques instructions d'impression simples. L'impression Update se répète plusieurs fois rapidement, avant l'arrêt de l'application par le point d'arrêt:

struct SceneView: UIViewRepresentable {

    let bounds: CGRect


    // Conformance to UIViewRepresentable
    func makeUIView(context: Context) -> SKView {
        SKView(frame: bounds)
    }
    func updateUIView(_ uiView: SKView, context: Context) {
        print("Update")

        let scene = Scene(size: bounds.size)
        uiView.ignoresSiblingOrder = true
        uiView.showsFPS = true
        uiView.showsDrawCount = true
        uiView.showsNodeCount = true
        uiView.presentScene(scene)
    }
}

  • Quelle est la cause du problème et comment puis-je résoudre ce problème?
  • Cela pourrait-il être dû à SwiftUI ou à mes bêtas Xcode et iPhone bêta?
10
George_E

Il est corrigé sur iOS 13.2 beta 3, vous pouvez le tester là-bas, il devrait être corrigé.

2
JERC