Удаляет ли disableBackgroundDeliveryForType соответствующий HKObserverQuery?

В HealthKit вы создаете HKObserverQuery, выполняете его, а затем включаете BackgroundDeliveryForType.

let backgroundQuery:HKObserverQuery = HKObserverQuery(sampleType: quantityType, predicate: nil) { (query, complete, error) -> Void in
}
self.healthKitStore.executeQuery(backgroundQuery)

self.healthKitStore.enableBackgroundDeliveryForType(
        quantityType,
        frequency: .Immediate,
        withCompletion: { (success, error) -> Void in
            if !success {
                println(error)
            }
    })

Мне интересно, если я вызову disableBackgroundDeliveryForType, он просто отключит зарегистрированный HKObserverQuery или также удалит его?

1 ответ

Решение

Отключение фоновой доставки не остановит запрос наблюдателя. Это только предотвращает возобновление вашего приложения в фоновом режиме, чтобы получать информацию о новых образцах. Когда ваше приложение находится на переднем плане, ваш запрос наблюдателя updateHandler продолжит выполнение, когда появятся новые данные. Вы должны позвонить HKHealthStore.stopQuery(backgroundQuery) чтобы остановить это.

Другие вопросы по тегам