Day_Count_Memory_Days/anniversary_Project/Tool/HealthManager.swift
2024-07-15 11:52:15 +08:00

45 lines
1.4 KiB
Swift

//
// HealthManager.swift
// anniversary_Project
//
// Created by 16 on 2024/7/10.
//
import Foundation
import HealthKit
class HealthManager {
let healthStore = HKHealthStore()
func requestAuthorization(completion: @escaping (Bool, Error?) -> Void) {
guard HKHealthStore.isHealthDataAvailable() else {
completion(false, nil)
return
}
let waterType = HKObjectType.quantityType(forIdentifier: .dietaryWater)!
healthStore.requestAuthorization(toShare: [waterType], read: [waterType]) { (success, error) in
completion(success, error)
}
}
func saveWaterIntake(waterQuantity: Double, date: Date) {
guard let waterType = HKObjectType.quantityType(forIdentifier: .dietaryWater) else {
return
}
let waterQuantityUnit = HKUnit.liter()
let waterQuantitySample = HKQuantity(unit: waterQuantityUnit, doubleValue: waterQuantity)
let waterSample = HKQuantitySample(type: waterType, quantity: waterQuantitySample, start: date, end: date)
healthStore.save(waterSample) { (success, error) in
if success {
print("Successfully saved water intake to HealthKit")
} else if let error = error {
print("Error saving water intake to HealthKit: \(error.localizedDescription)")
}
}
}
}