Meshtastic-Apple/MeshtasticClient/MeshtasticClientApp.swift

44 lines
1.1 KiB
Swift
Raw Normal View History

2021-08-18 22:33:05 -07:00
import SwiftUI
import CoreData
2021-08-18 22:33:05 -07:00
@main
struct MeshtasticClientApp: App {
2021-12-25 23:48:12 -08:00
2021-12-12 17:17:46 -08:00
let persistenceController = PersistenceController.shared
2021-12-25 23:48:12 -08:00
2021-12-12 17:17:46 -08:00
@ObservedObject private var bleManager: BLEManager = BLEManager.shared
@ObservedObject private var userSettings: UserSettings = UserSettings()
2021-11-04 08:36:55 -07:00
@Environment(\.scenePhase) var scenePhase
2021-08-18 22:33:05 -07:00
var body: some Scene {
WindowGroup {
ContentView()
2021-12-12 17:17:46 -08:00
.environment(\.managedObjectContext, persistenceController.container.viewContext)
.environmentObject(bleManager)
.environmentObject(userSettings)
}
2021-11-04 08:36:55 -07:00
.onChange(of: scenePhase) { (newScenePhase) in
switch newScenePhase {
case .background:
print(" Scene is in the background")
2021-12-15 23:53:45 -08:00
do {
2021-12-25 23:48:12 -08:00
2021-12-15 23:53:45 -08:00
try persistenceController.container.viewContext.save()
print("💾 Saved CoreData ViewContext when the app went to the background.")
2021-12-25 23:48:12 -08:00
2021-12-15 23:53:45 -08:00
} catch {
2021-12-25 23:48:12 -08:00
print("💥 Failed to save viewContext when the app goes to the background.")
2021-12-15 23:53:45 -08:00
}
2021-11-04 08:36:55 -07:00
case .inactive:
print(" Scene is inactive")
2021-11-04 08:36:55 -07:00
case .active:
print(" Scene is active")
2021-11-04 08:36:55 -07:00
@unknown default:
print("💥 Apple must have changed something")
2021-11-04 08:36:55 -07:00
}
}
2021-08-18 22:33:05 -07:00
}
}