Удалить добавленную выборку в приложении «Здоровье»

Я добавляю образец следующим образом:

var store:HKHealthStore? date = NSDate() let type = HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDietaryVitaminA) quantity = HKQuantity(unit: HKUnit.gramUnitWithMetricPrefix(.Micro), doubleValue: 100) let sample = HKQuantitySample(type: type, quantity: quantity, startDate: date, endDate: date) store.saveObject(sample, withCompletion: { (success, error) -> Void in if(error != nil) { println("Error saving sample: \(error.localizedDescription)") }else{ println("Sample saved successfully!") } }) 

И когда я хочу удалить этот образец, я выполняю:

 store.deleteObject(sample, withCompletion: {(success, error) -> Void in if(error != nil) { println("Error deleting sample: \(error.localizedDescription)") }else{ println("Sample deleted successfully!") } }) 

И он возвращает меня: Ошибка удаления образца: объект не найден. Каждый раз я использую ту же «дату» для startDate и endDate. Я попробовал с let sample = HKQuantitySample(type: type, quantity: quantity, startDate: date, endDate: date, metadata: metadata) где метаданные let metadata = [HKMetadataKeyExternalUUID:"\(Int64(date.timeIntervalSince1970))"] , но и безуспешно …

    Невозможно удалить данные работоспособности, введенные ApplicationA в ApplicationB, кроме приложения Apple Health.

    Согласно документации Apple, можно удалить данные о работоспособности, созданные только соответствующим приложением. Хотя пользователь имеет право на запись, невозможно удалить некоторые другие данные о работоспособности приложений из вашего приложения, но это возможно только из приложения Apple Health.

    Из документации :

    ЗАМЕТКА

    Хотя ваше приложение может управлять только созданными и сохраненными объектами, пользователи могут удалять любые данные, которые они хотят, используя приложение «Здоровье».

    Я действительно получил некоторую помощь от Apple с этой точной проблемой, но я еще не решил ее. Вы кодируете это точно так же, как я, но они сказали мне, что проблема в том, что мы создаем новый образец, а затем пытаемся удалить его немедленно. Образец еще не существует, поэтому он возвращает ошибку, не найденную в элементе.

    Что нужно сделать (теоретически) – запустить HKSampleQuery, а затем выполнить удаление с возвращенным из него объектом. Этот объект уже существует в HealthKit и может быть удален.

    Надеюсь, это поможет!

    EDIT: Решил … Я обнаружил, что моя дата / время печать была слишком сложной. Я изменил свой startDate / endDate, чтобы вернуть формат MM / DD / YYYY, и образцы были удалены должным образом. Надеюсь, что это поможет!

    Interesting Posts

    Использование Canvas для изменения размера изображений Iphone перед загрузкой на сервер

    Полнотекстовый поиск на iOS5, iOS6 Unicode (русский, японский, китайский, корейский)

    Пользовательский переход с интерактивным представлением

    Как настроить различные ограничения автоматической компоновки для разных размеров экрана

    ioS Google map v2 не работает – мое местоположение не может быть получено

    libiconv не ссылается на проект iOS

    Планирование локального уведомления в PhoneGap / Cordova не работает на симуляторе iOS

    Распознавание изображений Apple Vision

    Исключение «Приложение попыталось представить модный активный контроллер» сбой только в iOS 8

    Проблемы с SFSafariViewController

    Приложение «Alarmy» может воспроизводить песню iTunes из фонового состояния … Как?

    Как заставить HKQuery загружать самые последние показатели?

    Как оживить человеческий письменный удар с помощью Swift / iOS?

    Инициализатор не переопределяет назначенный инициализатор из своего суперкласса

    Слияние видео в фоновом режиме iOS

    Давайте будем гением компьютера.