如何仅通过手表从HealthKit访问distanceWalkingAndRunning?

时间:2019-07-18 14:33:43

标签: ios swift xcode watchkit health-kit

我曾尝试从健康数据中获取步行和跑步的距离,但它并不是我真正行走的距离,而是我使用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)

    }

我只想从手表上获得距离结果,或者更好的是消除多余的数据。

0 个答案:

没有答案