CMPedometer 步数不可用。为什么?
CMPedometer Steps not Available . why?
我正在尝试使用以下代码通过 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 我该如何解决?
您应该检查计步器是否在具有 isStepCountingAvailable()
CMPedometer 功能的设备上可用
此外,函数 startUpdates(from:withHandler:)
检索从您指定的日期到现在的数据。在您的情况下,您将该日期设置为现在,因此没有新数据。
如果要检索特定开始日期和结束日期的数据,可以使用 queryPedometerData(from:to:withHandler:)
这里有一些关于 CMPedometer 的文档:https://developer.apple.com/documentation/coremotion/cmpedometer
我正在尝试使用以下代码通过 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 我该如何解决?
您应该检查计步器是否在具有 isStepCountingAvailable()
CMPedometer 功能的设备上可用
此外,函数 startUpdates(from:withHandler:)
检索从您指定的日期到现在的数据。在您的情况下,您将该日期设置为现在,因此没有新数据。
如果要检索特定开始日期和结束日期的数据,可以使用 queryPedometerData(from:to:withHandler:)
这里有一些关于 CMPedometer 的文档:https://developer.apple.com/documentation/coremotion/cmpedometer