ios - 将 HealthKit Delete 传播到后端

标签 ios xamarin healthkit hkobserverquery

希望这个问题听起来不要太傻,但我还没有找到解决方案。我目前正在使用与 HealthKit 集成的 Xamarin 编写一个应用程序。存储在 HK 的数据会定期同步到服务器。这是通过提取食物相关性的 HKAnchoredObjectQuery 完成的。

由于数据是定期提取的,所以在同步之间,用户可能会删除 HealthKit 中的值。该删除需要在下一次同步时传播回服务器。

我最初的想法是通过观察者查询来实现这一点。

我的问题是:使用 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);
    }

最佳答案

在 iOS 9 中,HKAnchoredObjectQuery 已被修改为报告已删除的对象。

关于ios - 将 HealthKit Delete 传播到后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28950009/

相关文章:

ios - Google 登录 iOS SDK 中出现可能可恢复的错误

ios - NSURLConnection 失败,没有错误

c# - 将位图保存到文件 - Xamarin、Monodroid

xamarin - SkiaSharp Canvas 按钮不起作用

c# - MVVMCross:在 android xml 中绑定(bind)嵌套属性

ios - 如何在 iOS 应用程序中从 Health 应用程序获取事件的唯一标识符?

ios - Apple Healthkit 是否存储开发人员可以检索的唯一标识符 (UUID)?

ios - 如何在 SwiftUI 中获取 WidgetKit 的圆角半径的大小?

ios - 打开Health通过URL Scheme去一个App的权限

iphone - iPad 模拟器 (4.3) 崩溃并出现 dyld 错误