Ошибка удаления образца 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 или я что-то упустил?

0 ответов

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