我正在使用application构建睡眠分析应用程序,并希望检索夜间睡眠统计数据( REM中的时间、深度、光线等)。苹果开发者的视频提供了以下代码来检索所有睡眠阶段的样本.
let stagePredicate = HKCategoryValueSleepAnalysis.predicateForSamples(equalTo: .allAsleepValues)
let queryPredicate = HKSamplePredicate.sample(type: HKCategoryType(.sleepAnalysis), predicate: stagePredicate)
let sleepQuery = HKSampleQueryDescriptor(predicates: [queryPredicate], sortDescriptors: [])
// Run the query
let sleepSamples = try async sleepQuery.result(for: healthStore)
但是如何计算前一天晚上每个阶段的时间呢?我对healthkit非常陌生,所以任何帮助都将不胜感激。
发布于 2022-07-07 16:10:37
要计算每个阶段的时间,您需要迭代样本并检查类别值。您可以保持每个阶段的时间间隔,并根据所查看的示例的持续时间来增加时间间隔。
最棘手的部分是决定“前一晚”是什么。尝试定义相同大小的水桶,其中您将计数桶中的所有样本作为同一“睡眠会话”的一部分(例如,下午6点到下午6点,而不是上午12点-12点)。
https://stackoverflow.com/questions/72900815
复制相似问题