Watch OS6 - troubles reading stale Healthkit data

I'm trying to import biometrics from a user when they give us Health permissions in Watch OS6. Specifically, we are after birthdate, height, weight, ***, resting HR. All read fine so long as Healthkit has data for them, but the weight (bodymass) and height only read is there has been a datapoint added in the past two weeks. Any longer than that, and I get a null value. If I open Health on the iPhone and manually add a new datapoint for height or weight, I can then access these properties again for the next 14 days.


let height = HKObjectType.quantityType(forIdentifier: .height)!
let weight = HKObjectType.quantityType(forIdentifier: .bodyMass)!


Has anyone else come across this issue, or found a better way to handle it? Birthdate and *** work without issue. Haven't checked Resting HR as it's getting new datapoint written frequently anyway.

Thanks in advance,

Replies

This is still an issue. I have heard from other developers that it's been around since WatchOS1 and the normal way to manage this is by having the Companion App do the query, and then send the data over via the Watch Connectivity API, which isn't an option for Independent Apps.


I have created a ticket for it, I'm not sure if it's public, but I also made one on Open Radar. Included in the main ticket is a detailed video showing how data isn't read until new datapoints have been added.


https://feedbackassistant.apple.com/feedback/7442937

https://openradar.appspot.com/radar?id=4964560301719552


Thanks,