Я делаю быстрое приложение iOS, которое интегрируется с подсчетом пользовательского шага, как сообщается в приложении "Здоровье". Я могу легко найти счетчик пользовательских шагов за последний час, используя это как мой предикат:
let anHourBeforeNow: NSDate = NSDate().dateByAddingTimeInterval(-60 * 60)
let predicate = HKQuery.predicateForSamplesWithStartDate(anHourBeforeNow, endDate: NSDate(), options: .None)
И у меня все остальное, поэтому я могу успешно получить доступ к счету пользовательского шага за последний час. Но как я могу получить доступ к данным пользовательского шага с начала дня, как показано в разделе "Действия" в разделе "Действия"?
Я пытаюсь сделать что-то вроде этого:
let date = NSDate()
let cal = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
let newDate = cal.startOfDayForDate(date)
let predicate = HKQuery.predicateForSamplesWithStartDate(newDate, endDate: NSDate(), options: .None)
но этот код не настраивается для часового пояса (поэтому он дает мне начало дня в формате UTC, а не в начале дня, когда пользователь), и я также получаю очень завышенные количество шагов (по неизвестным причинам).
Итак, как я могу получить счетчик пользовательского шага для текущего дня с таким же количеством шагов, как указано в "Здоровье", например, на рисунке: