I’ve been playing with CMStepCounter in the iPhone 5s lately, and observed some interesting behavior. When I query the step counter minute by minute, steps occasionally get lost between the minutes. So sometimes querying steps for time1 to time2 and time2 to time3 results in a sum less than directly querying time1 to time3.

This looks like a bug with CMStepCounter or the M7 chip. I want to provide a consistent experience at least within the app, so for now I’m only querying for the smallest intervals I need, and summing those up for the less granular data points.