【问题标题】:Sleep Tracking and Analysis with Apple Healthkit使用 Apple Healthkit 进行睡眠跟踪和分析
【发布时间】:2022-07-08 00:10:37
【问题描述】:

我正在使用 Apple Healthkit 构建一个用于睡眠分析的应用程序,并希望检索夜间睡眠统计数据(快速眼动时间、深度睡眠时间、轻度睡眠时间等)。苹果开发者视频给出了以下代码来检索所有睡眠阶段的样本...

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 非常陌生,因此我们将不胜感激。

【问题讨论】:

    标签: ios swift apple-watch healthkit hkhealthstore


    【解决方案1】:

    要计算每个阶段的时间,您需要遍历样本并检查类别值。您可以为每个阶段保留一个时间间隔,并根据您正在查看的样本的持续时间增加它。

    棘手的部分是确定“前一晚”是什么。尝试定义相同大小的存储桶,您将在同一“睡眠会话”中计算该存储桶中的所有样本(例如,下午 6 点至下午 6 点,而不是上午 12 点至凌晨 12 点)。

    【讨论】:

      猜你喜欢
      • 2022-06-10
      • 1970-01-01
      • 2012-07-09
      • 2016-09-01
      • 2022-01-12
      • 2022-08-03
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      相关资源
      最近更新 更多