我正在使用类似于Get total step count for every date in HealthKit中的Swift示例的方法来获取HealthKit中的步骤数。这很有效。
我的偏好是获得每分钟或每小时的步数,而不是该代码每天的步数 - 虽然每小时步数的总和与HealthKit报告的每日步数完全一致,但是步骤不匹配每小时或每日总和。
有没有办法让每分钟步骤摘要有效?或者是否有一个合乎逻辑的答案,为什么他们有很大的不同?
与上面的代码和我的代码的唯一区别是以下每小时计算(工作原理相同):
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/webservice/path").fullyAuthenticated().and().
httpBasic().and().
csrf().disable();
}
以及以下每分钟计算(通常超过计数):
interval.hour = 1
var anchorComponents = calendar.dateComponents([.hour, .day, .month, .year], from: NSDate() as Date)
显然我错过了一些东西。感谢您的任何见解。
埃里克
答案 0 :(得分:1)
查询谓词有一些选项(.strictStartDate,.strictEndDate),这些选项确定查询是否查找严格在间隔(严格停止和开始日期)内的所有样本。包括在间隔之外停止或开始的样本。
我怀疑您的脚步样本可能跨越了微小的界限,并且取决于您如何定义间隔,这将产生很大的不同。
我使用每日摘要进行工作,并且将间隔定义为(严格,不严格),因此跨越两天的样本仅计入开始的那一天。(快速4)
let predicate = HKQuery.predicateForSamples(withStart: start, end: end, options: .strictStartDate)
我注意到,您链接到的SO问题的最终答案也定义了一个(严格,非严格)间隔。