Распространение HealthKit Удалить в конец

Надеюсь, этот вопрос не звучит слишком глупо, но я пока не смог найти решение. В настоящее время я пишу приложение с использованием Xamarin, которое интегрируется с HealthKit. Данные, хранящиеся в HK, периодически синхронизируются с сервером. Это делается с помощью HKAnchoredObjectQuery, который извлекает корреляции продуктов.

Поскольку данные извлекаются периодически, существует сценарий, который между синхронизациями может удалить значение в HealthKit. Это удаление должно быть передано обратно на сервер при следующей синхронизации.

Сначала я думал сделать это с помощью запроса наблюдателя.

Мой вопрос: с помощью запроса Observer для HealthKit, есть ли способ определить, является ли действие, которое вызвало запрос, действием удаления?

public void CheckForDelete (Subject subject)
    {
        var sampleType = HKObjectType.GetCorrelationType (HKCorrelationTypeKey.IdentifierFood);
        var predicate = HKQuery.GetPredicateForSamples (NSDate.DistantPast, NSDate.Now, HKQueryOptions.None);
        var observerQuery = new HKObserverQuery (sampleType, predicate, (query, completion, error ) => {
            //...Determine if action was a Delete
            //Code to delete on backend

            completion();
        });

        HealthKitStore.ExecuteQuery (observerQuery);
    }

1 ответ

В iOS 9 HKAnchoredObjectQuery был изменен для сообщения об удаленных объектах.

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