disableBackgroundDeliveryForType是否删除相应的HKObserverQuery?

jes*_*tro 3 ios swift healthkit hkhealthstore

在HealthKit中,您可以创建HKObserverQuery,执行它,然后启用EnableBackgroundDeliveryForType.

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)
            }
    })
Run Code Online (Sandbox Code Playgroud)

我想知道我是否调用disableBackgroundDeliveryForType它会禁用已注册的HKObserverQuery还是会删除它?

All*_*lan 5

禁用后台传递不会停止观察者查询.它只会阻止您的应用在后台恢复以获取有关新样本的信息.当您的应用程序位于前台时,您的观察者查询updateHandler将在有新数据时继续执行.你必须打电话HKHealthStore.stopQuery(backgroundQuery)来阻止它.