我曾尝试从健康数据中获取步行和跑步的距离,但它并不是我真正行走的距离,而是我使用Apple Watch和手机之间的距离的结果。因此,当我同时使用手表和手机时,距离将增加一倍。
我只想与手表保持距离,甚至可以更好地分离与手机和手表一起行走的数据。
我有结果,但是当我将其求和时,总距离不等于来自Health App的距离数据。
func fetchDistance(endTime: NSDate, startTime: NSDate){
guard let sampleType = HKObjectType.quantityType(forIdentifier: .distanceWalkingRunning) else { return }
let predicate = HKQuery.predicateForSamples(withStart: startTime as Date, end: endTime as Date, options: [])
let sortDescriptor = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: false)
let query = HKSampleQuery(sampleType: sampleType, predicate: predicate, limit: 10000, sortDescriptors: [sortDescriptor])
{ (query, results, error) in
if error != nil {
print("An error has occured with the following description: \(error?.localizedDescription)")
} else {
for r in results! {
let result = r as! HKQuantitySample
let quantity = result.quantity
let count = quantity.doubleValue(for: .meter())
self.counts = self.counts + count
print(String(format: "sample: %.1f", count))
}
}
print(self.counts)
}
healthManager.execute(query)
}
我只想从手表上获得距离结果,或者更好的是消除多余的数据。