Is HealthKit step count real-time?
Not quite. HealthKit is Apple’s store of saved health samples, not a live sensor feed. iPhone and Apple Watch record step samples into it, which HealthKit may condense or coalesce, and on iOS it wakes apps in the background for new step data at most once an hour. For a live count while an app is open, iPhone apps use Core Motion’s pedometer instead.
Key takeaways
- HealthKit stores step samples recorded automatically by iPhone and Apple Watch; Apple says they “may be condensed and/or coalesced”.
- Apps learn about new data with observer queries, and can register for background delivery.
- On iOS, step count background delivery has an hourly maximum frequency.
- Core Motion’s CMPedometer gives live step updates to an app that is running.
- For the day’s official total, apps ask HealthKit for a statistics query across sources.
What is the difference between HealthKit and Core Motion for steps?
Both give apps step counts, but they do different jobs.
| HealthKit (Apple Health) | Core Motion (CMPedometer) | |
|---|---|---|
| What it is | The health data store on your iPhone | Live motion data from the iPhone’s own sensors |
| Includes Apple Watch steps | Yes, alongside iPhone and other sources | No, this iPhone only |
| Live updates | No; apps are notified when samples are saved | Yes, to a running app |
| Background updates | Yes, at most hourly for step count on iOS | No live updates in the background |
| History | Long-term history | A cache of recent data |
| Permission | Health permission for Step Count | Motion & Fitness permission |
Apple describes CMPedometer as an object for fetching system-generated live walking data, with live updates through startUpdates(from:). HealthKit’s step count type is recorded automatically on iPhone and Apple Watch, and Apple notes the sample data may be condensed or coalesced.
How do apps find out about new step data in HealthKit?
With observer queries. An HKObserverQuery watches the store and tells the app when matching samples are saved or deleted. The app then runs another query to get the new total.
To be woken in the background, the app calls enableBackgroundDelivery. Apple’s documentation sets the rules (Apple Developer):
- The system wakes the app at most once per period of the frequency it asked for.
- On iOS, step count samples have an hourly maximum frequency, enforced transparently.
- Apps need the HealthKit Background Delivery entitlement on iOS 15 and later.
- If an app fails to respond three times, HealthKit stops sending it background updates.
Why does my Apple Health step total update in chunks?
- Samples are batched. Steps are saved as samples covering periods of time, and HealthKit may combine them.
- Apple Watch data syncs to the iPhone. Watch steps appear in Health on the iPhone after they sync.
- Sources are merged. When iPhone and Apple Watch both record the same period, Health uses the higher-priority source rather than adding both (Apple Support). See why iPhone and Apple Watch step counts differ.
How should a step app combine HealthKit and Core Motion?
- Use HealthKit for the day’s total. A statistics query can calculate the total step count for a day across sources (Apple Developer).
- Use Core Motion while the app is open so the number moves as you walk.
- Reconcile the two when HealthKit catches up, so the count never jumps backwards confusingly.
- Use observer queries with background delivery for widgets and Live Activities, accepting the hourly limit.
- Be honest in the interface about when a number was last refreshed.
For how this affects the Lock Screen, read how often a Live Activity can update a step count.
What does this mean for StepIsland?
According to its privacy policy, StepIsland reads your step count from Apple Health with your permission, and may also use Motion & Fitness to show your live step count while the app is open. That is the HealthKit-plus-Core-Motion pattern described above.
Frequently asked questions
Is Apple Health step count live?
Not exactly. Apple Health stores step samples that iPhone and Apple Watch record, and HealthKit may combine them. Apps get a live count from Core Motion while they are open.
How often does HealthKit update step count in the background?
On iOS, Apple limits background delivery for step count samples to at most once an hour, so apps relying on HealthKit in the background see updates in batches.
What is the difference between HealthKit and CMPedometer?
HealthKit is the Health data store with history from iPhone, Apple Watch and other sources. CMPedometer is Core Motion’s live pedometer for the iPhone itself, giving updates to a running app.
Why does my step count update when I open the app?
An open app can read live pedometer data and query HealthKit straight away. In the background it waits for system-scheduled updates.
Do Apple Watch steps show up in HealthKit?
Yes. Apple Watch records step samples to HealthKit, which appear on the iPhone after the watch syncs. Health merges them with iPhone data by source priority.
From the studio behind this journal
Watch your Apple Health steps come to life.
StepIsland is Upmoat’s walking app and step counter for iPhone and Apple Watch. Pick a companion, set a goal and watch an illustrated world grow with your Apple Health steps, live on your Lock Screen, Dynamic Island, widgets and Apple Watch.
Explore StepIslandSources
- Apple Developer. HKQuantityTypeIdentifier.stepCount
- Apple Developer. Executing observer queries (HealthKit)
- Apple Developer. enableBackgroundDelivery(for:frequency:withCompletion:) (HealthKit)
- Apple Developer. CMPedometer (Core Motion)
- Apple Developer. HealthKit queries
- Apple Support. Manage Health data on your iPhone, iPad or Apple Watch
- Upmoat. StepIsland privacy policy (updated October 1, 2026)