Why do Apple Health payloads show zero steps or arrive several times?
Older versions of the iOS SDK caused both. Upgrade to 1.9.2 or later.
Older versions of the iOS SDK caused both. Upgrade to 1.9.2 or later.
Before 1.9.0, the SDK could read Apple Health while the phone was locked. iOS returns nothing then, so a day could be re-sent with zero steps over the correct total. A metric with no reading was also sent as zero.
Before 1.9.0, a failed upload could still be reported as a success, so data could go missing without an error.
Before 1.9.2, one change in Apple Health could be uploaded many times, and steps from a sample that crossed midnight were split across two days.
After upgrading:
A missing field means there was no reading, so don't overwrite a stored value with it.
Calls that send data return an error when the upload fails, so expect errors you didn't see before.
Until your users are on the new build, ignore a daily payload with zero steps when you already hold a non-zero total for that day.
Flutter and React Native apps get the iOS SDK through their package, so check which iOS SDK version that package includes.
Last updated
Was this helpful?