我目前在医疗保健应用程序中工作,该应用程序需要跟踪用户手持手机行走时的步数。我已经使用了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
}];