HKObserverQuery and BackgroundDelivery Are Highly Unstable on watchOS 26

We are developing a health app that relies on HKObserverQuery and BackgroundDelivery to monitor Heart Rate data. On watchOS 10.6 and 11.6 , these data updates are typically delivered reliably every 8–12 minutes, occasionally exceeding 12 minutes, but generally not longer than 15 minutes. This frequency has been sufficient for the real-time data requirements of our app.

However, after adapting our app to watchOS 26, we noticed that HKObserverQuery triggers much less frequently, with longer and very inconsistent intervals. This issue has had a major impact on our product: data collection for essential features is unreliable, resulting in a greatly diminished user experience on watchOS 26 and making the app essentially useless from the user’s perspective.

Observed Behavior: HKObserverQuery and BackgroundDelivery are extremely unstable, with trigger intervals frequently exceeding 15 minutes, and sometimes even 20 minutes. When the user is sedentary, intervals become even longer; there are cases where no heart rate or active energy updates are delivered for 30 minutes, or even over 1 hour.

Request for Support and Guidance: Have there been any changes to the HKObserverQuery background delivery mechanism on watchOS 26, specifically for Heart Rate and Active Energy data? If these changes are intentional system optimizations, could you provide guidance or recommended practices to ensure our app can reliably retrieve updates and maintain a smooth experience for users?

Thank you for your support.

I noticed that you have filed a feedback report (FB20552903). Thanks for that. You can view the current status of your report in Feedback Assistant. See Understanding the Status of Your Feedback, if needed.

There is no workaround I can suggest unfortunately.

Best,
——
Ziqiao Chen
 Worldwide Developer Relations.

I am having an issue on watchOS 26 where HealthKit data does not appear to be able to be read while the app is in the background. When you do get an observer query triggering, are you able to read the data you need?

HKObserverQuery and BackgroundDelivery Are Highly Unstable on watchOS 26
 
 
Q