如何防止在 HealthKit 中写入重复数据?

How to prevent writing duplicate data in HealthKit?

我正在尝试将 HealthKit 集成到我的应用程序中,但我在用户 syncs/opens 应用程序等任何时候获取重复数据。我在打开应用程序时写入数据,但目前无法存储是否数据写在我的应用程序中。我希望在 HealthKit 中有一种方法可以做到这一点。我查看了设置 UUID,但那是只获取 属性.

我还查看了外部 UUID 元数据密钥,但这并不能防止重复。除了在我的应用程序中创建一个单独的字段来记录是否将特定数据写入 HealthKit 之外,还有其他办法吗?

我鼓励您对已经写入 HealthKit 的内容实施某种跟踪,以避免在每次应用启动时重写冗余数据的低效率。但是,你也可以使用 HKMetadataKeySyncIdentifier 来唯一标识 HealthKit 中的样本,并让它们 de-duplicated for you automatically.