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.
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)
}
}
Il est corrigé sur iOS 13.2 beta 3, vous pouvez le tester là-bas, il devrait être corrigé.