我試圖跟蹤會話期間所採取的用戶步驟。這些會話可以從30秒到30分鐘。我開始會議並開始走動,然後一分鐘後我停止了會議。這總是返回0個步驟。這是我正在運行的代碼。iOS HealthKit跟蹤會話期間的用戶步驟
func readUserSteps(startDate:NSDate, endDate:NSDate) {
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 {
print("There was an error running the query: \(error)")
} else {
var stepCount:Double = 0
for steps in results as! [HKQuantitySample]
{
stepCount += steps.quantity.doubleValueForUnit(HKUnit.countUnit())
}
print("Steps Taken: \(stepCount)")
}
})
self.healthKitStore.executeQuery(query)
}
我當前日期保存爲這樣:let startTime = NSDate()
表示會話的開始,一旦用戶停止會議上,我在會議結束時,保存爲這樣:let endTime = NSDate()
。然後用這兩個變量創建上面的函數。不幸的是,'stepCount'總是返回0 ..我在這裏做錯了什麼?