小编Sun*_*Kim的帖子

如何使用HealthKit快速获取步行和跑步距离

我正在制作Health App。我想walkingRunningDistanceHealthKitSwift中得到。但是,我有一个问题。返回值为0.0mile。

为什么返回值是0英里?

我的代码是这个。

func recentSteps3(completion: (Double, NSError?) -> () ){
    let type = HKSampleType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceWalkingRunning)

    let date = NSDate()

    let cal = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!

    let newDate = cal.startOfDayForDate(date)

    let predicate = HKQuery.predicateForSamplesWithStartDate(newDate, endDate: NSDate(), options: HKQueryOptions.StrictStartDate)

    let query = HKSampleQuery(sampleType: type!, predicate: predicate, limit: HKObjectQueryNoLimit, sortDescriptors: nil) { query, results, error in

        var distance: Double = 0

        if results?.count > 0
        {
            for result in results as! [HKQuantitySample]
            {
                distance += result.quantity.doubleValueForUnit(HKUnit.mileUnit())
            }
        }

        completion(distance, error) …
Run Code Online (Sandbox Code Playgroud)

swift healthkit hksamplequery

3
推荐指数
1
解决办法
3768
查看次数

标签 统计

healthkit ×1

hksamplequery ×1

swift ×1