Syncing Apple Health data in Exist for iOS
When you open Exist for iOS, if it's been more a while since we last synced your Apple Health data to your Exist account, we run a sync in the background so it doesn't stop you from using the app. At this point, we only sync today's values, so the sync should be nice and quick.
This is fairly straight-forward, and if you open the app a lot throughout the day, you'll find it stays relatively up-to-date. (As a side note: Exist is not designed to stay in-sync up-to-the-minute, because the real value of Exist comes from analysing your data over longer periods, so we don't want to waste resources on updating your data constantly throughout the day.)
Syncing your data when you're not opening Exist for iOS, however, can be more confusing. If you allow background app refresh, Exist for iOS will run in the background and try to sync your Apple Health data to your Exist account throughout the day. You can make sure this is turned on in the iOS Settings app, under Exist.
This is where things get tricky, though. Although we ask Apple to let us run in the background as often as possible, we have no control at all over when Exist for iOS runs in the background and how often this happens. Apple uses your behaviour to determine how often to allow an app to run in the background. The more often you open an app throughout the day, the more often that app will be allowed to run in the background, because opening the app tells Apple you care about that app having up-to-date data, because you use it a lot.
(Apple also takes note of when you use the app, so if you tend to open Exist for iOS around 9pm every night to review your day, it might run in the background around 8:45pm each night, because Apple thinks it should let the app update its data right before you open it.)
So, why does this matter? Another unique part of Exist for iOS's background refresh is that we're trying to sync your Apple Health data to your Exist account. But Apple cuts off our access to your Apple Health data while your phone is locked. And Apple often thinks the most convenient time for an app to run in the background is while your phone is locked, since you're not using it. This makes sense, except that anytime Exist for iOS runs in the background while your phone is locked, it can't sync your data.
The best way around this is for Exist for iOS to run in the background many times throughout the day—this way, it's more likely to catch your phone unlocked, and successfully sync your data. But because Apple uses your usage patterns to determine when to let Exist for iOS to run in the background, if you go days without opening the app, it may not run in the background often enough to catch your phone unlocked, leading to empty days in your Exist account where your Apple Health data hasn't synced.
Our best advice is to open Exist for iOS at least once per day. This tells Apple you care about the app having up-to-date data, and encourages Apple to allow the app to run in the background.
We also do a once-daily sync of the past seven days' data. This helps fill in any gaps you might have in your data, from days when you didn't open the app, or if it was never able to run in the background while your phone was unlocked.
Unfortunately we don't have any control over this situation, so we're doing the best we can within Apple's restrictions.