2

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

在我的代码中:

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

那是奇怪的步数。

我试图避免这个问题。这就是我使用串行队列进行查询的原因。然而,我失败了。有什么办法可以避免吗?

4

0 回答 0