> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/help-center/help-topics/data-api-sdk/mobile-sdk-setup-permissions-and-crashes/ios-sdk-zeroed-or-duplicate-apple-payloads.md).

# 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.
