我目前在医疗保健应用程序中工作,该应用程序需要跟踪用户手持手机行走时的步数。我已经使用了CoreMotion框架和CMPedometer来跟踪步数,并且效果很好。但是,回调函数不会在每个步骤计数后都调用。它汇总所有数据,并以10个步骤为整体返回步骤数(例如)。再具体一点,
startUpdates(from start: Date, withHandler handler: @escaping CMPedometerHandler)
不会为每个步骤计数(步骤计数1,步骤计数2等)调用。它合并数据并通过添加总步数仅被调用一次。

有没有一种方法可以为每个步行步骤调用该方法?

最佳答案

使用 startPedometerEventUpdatesWithHandler:

代码:

[self.pedometer startPedometerEventUpdatesWithHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) {
        // this block is called for each live update
   }];

10-08 01:01