Context:私のアプリは、SpriteKitを使用したゲームであるSwiftUIを使用して作成されています。
デバイスのホームボタンを押すと、アプリに「UIApplicationEndBackgroundTaskError
」というエラーが発生します。ログは次のようになります。
Can't end BackgroundTask: no background task exists with identifier 1 (0x1), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.
ブレークポイントを作ってみましたが、理解できる有用な情報が得られません。ログはなく、デバッグナビゲーターが表示されるだけです。
問題の原因を調査しました。簡単な印刷ステートメントをいくつか追加しました。 print Update
は、アプリケーションがブレークポイントによって停止される前に、数回すばやく繰り返されます。
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)
}
}
IOS 13.2ベータ3で修正されています。そこでテストできます。修正する必要があります。