来自CMPedometer和HealthKit的数据之间的差异

Joh*_* D. 6 ios swift healthkit

下图列出了HealthKit与CMPedomoter类的步骤数据:

    HealthKit   CMPedometer  difference
1   2710        2681         -29
2   2569        2580          11
3   2367        2312         -55    
4   1326        1311         -15
5   2728        2711         -17
6   860         886           26
7   6293        6299           6
Run Code Online (Sandbox Code Playgroud)

两者之间每天都有细微的差别.有谁知道为什么会这样?没有其他应用程序正在向此设备写入步骤数据.

Ark*_*hel 3

问题是所有步骤都有 Float 值,因此实际情况可能是:

time - pure data - after round
1:05 - 0.95 steps - 1 steps 
1:15 - 1.25 steps - 1 steps 
1:25 - 14.75 steps - 15 steps 
1:45 - 1.95 steps - 2 steps 
2:05 - 4.65 steps - 5 steps 
2:15 - 11.25 steps - 11  steps 
Run Code Online (Sandbox Code Playgroud)

如果你把它像整数一样加起来,你会得到 31 步,如果你在之前四舍五入,你会得到 35

同步计步器和健康套件的数据时也遇到此问题