IPhone – Contention for M7 Motion Chip

iphonemotion-processor

What happens when multiple apps access the M7 motion chip? When one app reads a step count, does it zero the counter for other apps, or will other apps also be able to access the step count and double count the steps?

For example, I use MyFitnessPal and RunKeeper. At work today, while fairly sedentary, I enabled access to the M7 processor in MyFitnessPal. It tracked about 1500 steps. This evening, I went out for a walk and turned on RunKeeper. It logged my activity in MyFitnessPal when I was done, and the steps in MyFitnessPal dropped to zero. I lost the ~1500 steps from earlier in the day. What's going on?

Best Answer

There's no contention. Apple provides APIs for accessing the M7's data and all the APIs are thread-safe. This means that there can't be any problems caused by two apps accessing the data at the same time.

Furthermore, reading data from the M7 doesn't manipulate the data in any way. Other apps can still access the data and the data is not reset.

As for the cause of the specific problem in the question, I'd put it down to a bug in the app itself.