从CMPedometer获取错误的步骤历史记录

时间:2016-09-15 08:46:47

标签: ios objective-c swift pedometer

最近我遇到一个很难出现的问题 我尝试做的是获得每分钟的步数。

在我的代码中:

let date = NSDate()
    for i in 0...1000 {
        dispatch_async(mySerialQueue) {
            self.pedoMeter.queryPedometerDataFromDate(date.dateByAddingTimeInterval( Double(i+1) * -60.0 ), toDate: date.dateByAddingTimeInterval( Double(i) * -60.0 ), withHandler: { (data, error) in
                if let data = data {
                    print("\(data.numberOfSteps)")
                }
            })
        }
    }

有时,步数会返回一个大数,可以是> 1000000。跟踪设备日志后,我发现有一个错误日志:

Sep 15 16:42:59 locationd[6315] <Error>: Steps were found to be non monotonically increasing - start:488825.000000, end:488825.000000

这就是奇怪的步数。

我正在努力避免这个问题。这就是我使用串行队列进行查询的原因。但是,我失败了。有什么方法可以避免吗?

0 个答案:

没有答案