Ошибка удаления образца HealthKit на watchOS 2
Я хотел бы добавить образцы в HealthKit из приложения для iPhone и приложения Apple Watch. Есть одно условие: если за последние 10 минут уже был добавлен другой образец, я хочу заменить его (или удалить + добавить).
Вот что я делаю.
func addOrUpdateSample(beans:Float) {
let dateThreshold = NSDate().dateByAddingTimeInterval(-10 * 60)
let predicate:NSPredicate = NSPredicate(format:"startDate >= %@",dateThreshold)
let sortDescriptor:NSSortDescriptor = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: true)
let query:HKSampleQuery = HKSampleQuery(sampleType: caffeineType!, predicate: predicate, limit: HKObjectQueryNoLimit, sortDescriptors:[sortDescriptor]) { (query, results, error) in
// Remove all samples that match the predicate…
if results != nil {
for result in results! {
self.healthStore?.deleteObject(result, withCompletion: { (success, error) in })
}
}
// …before adding the new sample
let sample = self.createSample(beans) // Helper returning a HKQuantitySample object
self.healthStore?.saveObject(sample, withCompletion: { (success, error) in })
}
healthStore?.executeQuery(query)
}
На iOS это работает как положено, удаляя все существующие объекты перед добавлением нового. Однако при запуске из приложения Apple Watch образец добавляется, но образец не удаляется?
Удаление сэмплов не поддерживается на watchOS или я что-то упустил?