所以根据Apple的说法,我需要在数据被添加到HKHKObserverQueryCompletionHandler
之后调用。updateHandler
但是一旦我调用了completionHandler,观察者查询就会停止在后台提供更多更新......
这是我的代码:
guard let sampleType = sample as? HKQuantityType else { return nil }
let query = HKObserverQuery(sampleType: sampleType, predicate: nil, updateHandler: { query, completionHandler, error in
completionHandler()
IamExecutingHKStatisticsCollectionQueryHere()
})
healthStore?.execute(query)
healthStore?.enableBackgroundDelivery(for: sampleType, frequency: .hourly, withCompletion: { success, error in
})
如果我不调用completionHandler,一切正常,但我从未测试过很长时间..