HealthKit Step Counter

I am trying to use the HealthKit step counter, and for now this is what I have. This does not fail, but I do not see any activity. What am I missing?

import UIKit import HealthKit class ViewController: UIViewController { let healthStore: HKHealthStore? = { if HKHealthStore.isHealthDataAvailable() { return HKHealthStore() } else { return nil } }() override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let endDate = NSDate() let startDate = NSCalendar.currentCalendar().dateByAddingUnit(.CalendarUnitMonth, value: -1, toDate: endDate, options: nil) let weightSampleType = HKSampleType.quantityTypeForIdentifier(HKQuantityTypeIdentifierStepCount) let predicate = HKQuery.predicateForSamplesWithStartDate(startDate, endDate: endDate, options: .None) let query = HKSampleQuery(sampleType: weightSampleType, predicate: predicate, limit: 0, sortDescriptors: nil, resultsHandler: { (query, results, error) in if results == nil { println("There was an error running the query: \(error)") } dispatch_async(dispatch_get_main_queue()) { var dailyAVG:Double = 0 for steps in results as [HKQuantitySample] { // add values to dailyAVG dailyAVG += steps.quantity.doubleValueForUnit(HKUnit.countUnit()) println(dailyAVG) println(steps) } } }) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } 
+5
source share
1 answer

You just forgot to complete the request. This is all you need at the end of your viewDidLoad method:

healthStore?.executeQuery(query)

Hurrah!

+8
source

Source: https://habr.com/ru/post/1214444/


All Articles