HealthKit Step Counter
Asked Answered
M

1

5

I'm trying to use HealthKit's step counter and so far this is what I have. It doesn't fail but I don't 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.
    }


}
Menendez answered 2/3, 2015 at 2:59 Comment(0)
F
8

You just forgot to actually execute the query. This is all you need at the end of your viewDidLoad method:

healthStore?.executeQuery(query)

Cheers!

Fumble answered 8/3, 2015 at 11:20 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.