Watch Appの開発をしています。SwiftUIでバックグラウンドでのデータ処理を行いたいです。
WKExtendedRuntimeSessionを用いて実行しようとしたのですが、inactiveになっても実行されていないようです。
swiftUI
1import SwiftUI 2 3 4@main 5struct FirebaseExample_Watch_AppApp: App { 6 var session = WKExtendedRuntimeSession() 7 8 init() { 9 session.start() 10 11 // MARK:- Extended Runtime Session Delegate Methods 12 func extendedRuntimeSessionDidStart(_ extendedRuntimeSession: WKExtendedRuntimeSession) { 13 print("started") 14 } 15 16 func extendedRuntimeSessionWillExpire(_ extendedRuntimeSession: WKExtendedRuntimeSession) { 17 print("going to expired") 18 } 19 20 func extendedRuntimeSession(_ extendedRuntimeSession: WKExtendedRuntimeSession, didInvalidateWith reason: WKExtendedRuntimeSessionInvalidationReason, error: Error?) { 21 print("ended") 22 } 23 } 24 25 26 var body: some Scene { 27 WindowGroup { 28 29 ContentView() 30 } 31 } 32} 33
WKExtendedRuntimeSessionの使い方がわかる方、ご助力いただければ幸いです。
参考URL
https://developer.apple.com/documentation/watchkit/wkextendedruntimesession
補足
swiftUI
1func startTimerButtonPressed() { 2 print(WKApplicationState.RawValue()) 3 var session = WKExtendedRuntimeSession() 4 session.start() 5 print(session.state.rawValue) 6 }
としても
全て0だったので、sessionがstartしていないと考えています。
あなたの回答
tips
プレビュー