我正在尝试使用以下代码来获取使用coremotion库的步骤数。但至于我的输出我只得到步数不可用。我不知道我在哪里弄错了,这是我第一次使用这个库。我怀疑我的约会一定有问题,但我不确定
@IBAction func btn(_ sender: Any) {
let calendar = Calendar.current
let twoDaysAgo = calendar.date(byAdding: .day, value: -2, to: Date())
pedometer.queryPedometerData(from: twoDaysAgo!, to: Date()) { (data, error) in
if(error != nil){
print(error)
}else{
if (data != nil ){
print(data?.numberOfSteps)
}else{
print("nil")
}
}
}
}
我已经看到了其他类似的问题,他们没有帮助。我的测试设备完全支持传感器,但问题是我的步数为零。任何idae我该怎么解决?
答案 0 :(得分:1)
您应该检查具有isStepCountingAvailable()
CMPedometer功能的设备上的计步器是否可用
此外,函数startUpdates(from:withHandler:)
从您提供给当前时刻的日期检索数据。在您的情况下,您将该日期设置为现在,因此没有新的数据。
如果要检索特定开始日期和结束日期的数据,请使用queryPedometerData(from:to:withHandler:)
这里有关于CMPedometer的一些文档:https://developer.apple.com/documentation/coremotion/cmpedometer