A query that returns changes to the HealthKit store, including a snapshot of new changes and continuous monitoring as a long-running query.
- iOS 8.0+
- Mac Catalyst 13.0+
- watchOS 2.0+
Anchored object queries provide an easy way to search for new data in the HealthKit store. An
HKAnchored returns an anchor value that corresponds to the last sample or deleted object received by that query. Subsequent queries can use this anchor to restrict their results to only newer saved or deleted objects.
Anchored object queries are mostly immutable. You can assign the query’s
update property after instantiating the object, but you must set all other properties when you instantiate the object. You can’t change them.
Combine Snapshots and Updates
The anchored object query can combine the abilities of a regular query with a long-running query.
It grabs a snapshot of the data currently stored in the HealthKit store (like an
It can also perform a long-running query that responds to updates (like an
Often, it’s more efficient to set up and run a single anchored object query than to run separate sample and observer queries. As a result, you may want to use anchored object queries, even when you aren’t using anchors to limit the results. In this case, set the anchor parameter to