The background deliver works perfectly when the app is in the background or suspended states. However, when the app is killed (terminated state), the background task does not execute
I believe this is an as-designed behavior. In most cases, the system does not relaunch an app after it's force quit (meaning that the user removes the app from the multitasking UI), because force quitting an app is interpreted as a strong sign that the user doesn’t want it running.
This rule has some exceptions, but HealthKit background deliver isn't one of them.
Best,
——
Ziqiao Chen
Worldwide Developer Relations.