Я получаю сегодня шаги от healthkit, используя приведенный ниже код.Выполнение всех шагов сегодня, но усечение вручную добавленных шагов, из набора работоспособности с помощью swift
func retrieveStepCount(completion: (stepRetrieved: Double) -> Void) {
let type = HKSampleType.quantityTypeForIdentifier(HKQuantityTypeIdentifierStepCount)
let date = NSDate()
let cal = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
let newDate = cal.startOfDayForDate(NSDate())
let predicate = HKQuery.predicateForSamplesWithStartDate(newDate, endDate: NSDate(), options: .None) // Our search predicate which will fetch all steps taken today
let interval: NSDateComponents = NSDateComponents()
interval.day = 1
let query = HKStatisticsCollectionQuery(quantityType: type!, quantitySamplePredicate: predicate, options: .CumulativeSum, anchorDate: newDate as NSDate, intervalComponents:interval as NSDateComponents)
query.initialResultsHandler = { query, results, error in
if error != nil {
print("Something went Wrong")
return
}
if let myResults = results{
myResults.enumerateStatisticsFromDate(newDate, toDate: NSDate()) {
statistics, stop in
if let quantity = statistics.sumQuantityForSource(HKSource.defaultSource()) {
let steps = quantity.doubleValueForUnit(HKUnit.countUnit())
print("Steps = \(Int(steps))")
completion(stepRetrieved: steps)
}
}
}
}
executeQuery(query)
}
Теперь давайте говорить я эти шаги в полной
из которых у меня есть некоторые шаги, которые были автоматически обнаруженные устройства. и некоторые из них были добавлены некоторым другим приложением к heathkit.
Я хочу их обоих, и я получаю их обоих, но проблема возникает, когда пользователь некоторые некоторые шаги manuall к healthkit.
Я не хочу, чтобы получить эти добавленные вручную шаги. Поэтому в основном я хочу получить (5 793 - 2300) = 3493 шага.
Как я могу это сделать? Я пытался получить имя HKSource. Я знаю, что когда пользователь вводит шаги вручную, имя источника - «Здоровье», но как я могу отфильтровать шаги на этой базе? Пожалуйста, расскажите мне об этом и о том, что мне здесь не хватает? Заранее спасибо
ohh Я не думал об этом. Благодаря !! – Byte