【问题标题】:Aggregated CMPedometerData (iPhone + Watch total count)聚合的 CMPedometerData(iPhone + 观看总数)
【发布时间】:2017-06-16 04:16:47
【问题描述】:

我的应用在 iPhone 和 Watch 上收集 CMPedometerData

iPhone 的步数(实时数据和历史数据)明显低于 Watch 记录的步数(witch 是有道理的,因为当您始终佩戴 Watch 时,“在设备上”的步数实际上会更低,而有时会打开手机桌子)。

事实是,Watch 似乎有聚合数据,或者至少因为它是更高的步数最重要的数据,所以 我也希望在 iPhone 应用程序上也有这些聚合/更高的数据

我需要在两台设备上收集它们并手动合并它们吗? 有没有办法从 CMPedometer 获取聚合数据,因为 Apple 已经在后台进行合并?

提前致谢!

【问题讨论】:

    标签: ios iphone watchkit apple-watch core-motion


    【解决方案1】:

    HealthKit 使用HKStatisticsQueryHKStatisticsCollectionQuery 来计算来自多个设备的聚合步数。这些方法会自动检测测量中的重叠并消除重复条目。

    您可以在official documentation of HKStatisticsQuery 中找到一些示例。

    【讨论】:

    • 感谢您的回答。老实说,我并不高兴必须要求用户允许访问 CMPedometer 数据和 HealthKit 数据,但如果这是唯一的方法......我想这意味着你将使用 CMPedometer 数据进行实时(今天)步骤,以及前几天的 HealthKit 数据,即使这意味着用户在一天结束时看到的步数与当天的历史记录会有细微的差异,因为这些来源往往报告的值略有不同.这也是你的方法吗?
    • 您始终可以运行 HKStatisticsQuery 来获取当天累计的步数,但您的方法似乎也正确。我想大多数用户并不真正关心实时数据和历史数据之间的细微差别,只要它们相似并且只要历史数据一致,这不会是这种方法的问题。所以,是的,我认为你的方法没有任何问题。
    猜你喜欢
    • 2017-05-11
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 2014-07-27
    相关资源
    最近更新 更多