Распространение 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
был изменен для сообщения об удаленных объектах.