세션 중에 수행 된 사용자 단계를 추적하려고합니다. 이 세션은 30 초에서 30 분까지 가능합니다. 세션을 시작한 다음 1 분 후에 세션을 중지합니다. 이것은 항상 0 단계를 반환합니다. 다음은 실행중인 코드입니다. let startTime = NSDate()
세션의 시작을 표현하기 위해 사용자 일단 내가 그렇게으로 세션의 끝을 저장 세션 중지 : 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 endTime = NSDate()
을. 그런 다음이 두 변수를 작성하여 위의 함수를 호출합니다. 불행히도 'stepCount'는 항상 0을 반환합니다. 여기서 내가 뭘 잘못하고 있니?