HealthKit - HKObserverQuery - кажется, iOS не дает обратный вызов, когда приложение не открывается в течение длительного времени
В appdelegate прослушивание изменений данных HelathKit с использованием HKObserverQuery с использованием метода enableBackgroundDelivery с типом частоты .immediate
, Когда я получаю обратный вызов, я получаю данные Healthkit с помощью запросов и отправляю их на сервер. Он работает нормально для всех состояний приложения, упомянутых здесь /questions/436791/fonovaya-dostavka-healthkit-kogda-prilozhenie-ne-zapuscheno/436794#436794. Но если я не открою приложение в течение длительного времени (1 неделя), мы не получим HealthKit
данные на сервер (как мы могли бы не получить обратный вызов от HKObserverQuery
или это может быть обратный вызов, и приложение может не отправить эти данные на сервер.)
Какой может быть сценарий?
И, если мы не будем открывать приложение в течение очень долгого времени, скажем, в течение нескольких месяцев, можем ли мы ожидать, что обратный вызов HKObserverQuery будет работать? Нужна ли дополнительная настройка в этом сценарии?
FYI,
Мой проект работает на Xcode 8.3.3, Swift 3.0.
Ниже приведено мое состояние фона режима приложения: