やりたいこと
バックグラウンドに入った数秒後にfirestore
と更新がしたい。
できてないこと
swift
1// SceneDelegate 2 3 let eventWhenBackground = DispatchWorkItem() { 4 print("バックグラウンドに入って5秒経ちました") 5 } 6 func sceneWillEnterForeground(_ scene: UIScene) { 7 print("フォアグラウンド") 8 } 9 func sceneDidEnterBackground(_ scene: UIScene) { 10 print("バックグラウンド") 11 DispatchQueue.main.asyncAfter(deadline: .now() + 5, execute: eventWhenBackground) 12 }
上記のようなコードではeventWhenBackground
がバックグラウンドに入って5秒後に呼び出されず、5秒経ったのちに再びアプリを開きフォアグラウンドに入った際に、print("フォアグラウンド")
と共にprint("バックグラウンドに入って5秒経ちました")
が呼ばれます。
今回のコードではprint("バックグラウンドに入って5秒経ちました")
としていますが、本来は
swift
1Firestore.firestore().collection("test").document("test").setData(["testBool": true]) { err in 2 if let err = err { 3 print("Error writing document: \(err)") 4 } else { 5 print("successfully") 6 } 7}
上記のコードをeventWhenBackground
に記述しfirestoreと交信しようとしています。
バックグラウンドに入ってもfirestore
と交信する方法を教えていただきたいです。
何卒よろしくお願いいたします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/16 12:47
2022/07/18 05:51