0

我正在使用CMStepCounterCMMotionActivityManager

我想做的是计算出我全天的总步行时间,并由此计算出我的平均速度。

但是,查看 中的数据CMMotionActivityManager,很明显,一天中的许多步骤实际上是在“未知活动”期间记录的,而不是步行或跑步。这确实是有道理的,因为您需要执行一些步骤才能让 iOS 知道您正在走路。但是,这些在任何一天的过程中都会累加。

查询CMMotionActivity,可以得到每个事件的时间戳。然而,虽然我很清楚每一步都必须在 中加上时间戳CMStepCounter,但我只能看到一种方法来返回两个时间点之间的总步数。如果我可以返回带有时间戳的每个步骤的数组,那将是很棒的,如果可以,如何?

非常感谢。

4

1 回答 1

1

使用当前的 Core Motion API,您无法直接获取每个步骤及其时间戳的数组。

但是您可以使用它来获取对象queryActivityStartingFromDate:toDate:toQueue:withHandler:数组。CMMotionActivity然后使用时间戳通过调用来计算步数queryStepCountStartingFrom:to:toQueue:withHandler:

我认为 M7 处理器不会用自己的时间戳存储每一步。如果你传递1stepCounts方法startStepCountingUpdatesToQueue:updateOn:withHandler:,你会注意到处理程序不是在每一步都执行。正如文档所说:每次超过步数阈值时,都会尽最大努力执行处理程序块。

于 2014-02-08T03:21:46.023 回答