disableBackgroundDeliveryForType 是否删除对应的 HKObserverQuery?
Does disableBackgroundDeliveryForType delete the corresponding 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 还是会同时删除它?
禁用后台传送不会停止观察者查询。它只会阻止您的应用程序在后台恢复以了解有关新示例的信息。当您的应用程序在前台时,您的观察者查询的 updateHandler
将在有新数据时继续执行。你必须调用 HKHealthStore.stopQuery(backgroundQuery)
来阻止它。
在 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 还是会同时删除它?
禁用后台传送不会停止观察者查询。它只会阻止您的应用程序在后台恢复以了解有关新示例的信息。当您的应用程序在前台时,您的观察者查询的 updateHandler
将在有新数据时继续执行。你必须调用 HKHealthStore.stopQuery(backgroundQuery)
来阻止它。