ios - HealthKit Watchos - 计算速度或 'Pace'

标签 ios watch healthkit

这是一个一般性问题,旨在就计算用户运行或游泳时的速度/配速/速度所需的模式寻求建议。

具体来说,我希望能够在与配套手机断开连接的情况下,通过 watch OS 进行计算。

借助 Watch 3/Watch OS 10.0 的 GPS 功能,最好的方法是:

  1. 启动位置管理器
  2. 计算定位点之间的距离和时间...
  3. 计算平均速度?

或者有更好的选择吗?

这里有一篇好文章https://www.bignerdranch.com/blog/watchkit-2-hardware-bits-the-accelerometer/建议使用 CoreMotion 来提高设备速度。然而,在我看来,这更像是“设备速度”,而不一定是用户的距离速度。

如有任何建议或经验,我们将不胜感激。

谢谢。

最佳答案

您链接到的文章适用于 WatchOS 2,而不是 Watch 2。运动跟踪非常好,但要获得准确的设备速度,您仍然需要使用 GPS。

如果您不需要进行任何其他与位置相关的计算,并且不需要实时数据(编辑,您可以使用 HKAnchoredObjectQuery。这对大多数情况来说已经足够了)然后你不需要启动位置管理器,只需要一个 HKWorkoutSession。这将默认使用 GPS 或运动数据(当时更准确/可用)并为您管理一切。锻炼结束后,您可以查询距离样本并据此计算配速。

如果您需要实时运动数据,那么您概述的步骤是正确的,但是您应该先检查用户是否在户外。如果用户在室内或 GPS 信号较弱,请切换到使用运动数据(如果使用 HealthKit,请务必适当设置 HKMetadataKeyIndoorWorkout)。

关于ios - HealthKit Watchos - 计算速度或 'Pace',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39757716/

相关文章:

ios - 如何制作带有可选圆角和边框的 UIView?

ios - 从 fork 终端运行 xcodebuild

MySQL表格式使用watch

android - CSS android 和 iOS 问题

ios - 返回实体中的随机属性(核心数据)

javascript - AngularJS 我如何观看 $viewValue 而不是 ngModel?

ios - 带顶部对齐的 Watchkit 多行标签

swift - 如何使用 Swift 查询 Healthkit 的平均心率

iphone - 如何从另一个 iOS APP 启动 Health iOS 应用程序

ios - HKWorkoutSession 不可用