fix(watch-connectivity): improve WCSession lifecycle and message reliability
This commit is contained in:
@@ -25,8 +25,6 @@ class WorkoutManager: ObservableObject {
|
||||
private var lapStartTime: Date?
|
||||
private var completedLaps: [CompletedLap] = []
|
||||
|
||||
private let suiteName = "group.com.swimbuddy.app"
|
||||
|
||||
init() {
|
||||
healthStore = HKHealthStore()
|
||||
}
|
||||
@@ -34,7 +32,7 @@ class WorkoutManager: ObservableObject {
|
||||
// MARK: - Data Persistence
|
||||
|
||||
func loadSavedWorkouts() {
|
||||
guard let defaults = UserDefaults(suiteName: suiteName) else { return }
|
||||
let defaults = UserDefaults.standard
|
||||
|
||||
if let data = defaults.data(forKey: "savedWorkouts"),
|
||||
let workouts = try? JSONDecoder().decode([StoredWorkout].self, from: data) {
|
||||
@@ -48,7 +46,7 @@ class WorkoutManager: ObservableObject {
|
||||
}
|
||||
|
||||
func saveWorkoutsToStorage() {
|
||||
guard let defaults = UserDefaults(suiteName: suiteName) else { return }
|
||||
let defaults = UserDefaults.standard
|
||||
if let data = try? JSONEncoder().encode(savedWorkouts) {
|
||||
defaults.set(data, forKey: "savedWorkouts")
|
||||
}
|
||||
@@ -234,16 +232,14 @@ class WorkoutManager: ObservableObject {
|
||||
"duration": elapsedSeconds,
|
||||
]
|
||||
|
||||
if let defaults = UserDefaults(suiteName: suiteName) {
|
||||
var completed = completedWorkouts
|
||||
var summary = selectedWorkout
|
||||
summary?.completedAt = ISO8601DateFormatter().string(from: Date())
|
||||
if let s = summary {
|
||||
completed.insert(s, at: 0)
|
||||
}
|
||||
if let data = try? JSONEncoder().encode(completed) {
|
||||
defaults.set(data, forKey: "completedWorkouts")
|
||||
}
|
||||
var completed = completedWorkouts
|
||||
var summary = selectedWorkout
|
||||
summary?.completedAt = ISO8601DateFormatter().string(from: Date())
|
||||
if let s = summary {
|
||||
completed.insert(s, at: 0)
|
||||
}
|
||||
if let data = try? JSONEncoder().encode(completed) {
|
||||
UserDefaults.standard.set(data, forKey: "completedWorkouts")
|
||||
}
|
||||
|
||||
if WCSession.default.isReachable {
|
||||
|
||||
Reference in New Issue
Block a user