iOS 获取结合多个设备的 healthkit 数据
Posted
技术标签:
【中文标题】iOS 获取结合多个设备的 healthkit 数据【英文标题】:iOS fetch healthkit data combining multiple devices 【发布时间】:2020-02-13 20:25:40 【问题描述】:我有一个从 ios 收集 healthkit 数据的应用程序。 它像这样将数据发送到我的应用程序:
"header":
"id": "18018B64-850A-4F3A-9D21-4FF0C99762D6",
"creation_date_time": "2020-01-15T14:15:00.000+01:00",
"schema_id":
"namespace": "omh",
"name": "step-count",
"version": "1.0"
,
"source":
"operating_system_version": "13.3.0",
"bundle_identifier": "com.garmin.connect.mobile",
"product_type": "iPhone10,4",
"name": "Connect",
"version": "20"
,
"device": null,
"body":
"step_count": 888,
"effective_time_frame":
"time_interval":
"start_date_time": "2020-01-15T14:15:00.000+01:00",
"end_date_time": "2020-01-15T14:29:59.000+01:00"
,
我想要单独的数据,因为我的应用程序显示了自己的聚合(日、月、今天等),我想在服务器端按我的意愿执行此操作,因此我无法访问用户的电话。用户手机将新的测量值发送到服务器,因为它们在后台可用。
但是,问题是我还收到了来自 iPhone 本身或其他收集步数的设备的测量值。
我可以过滤一个设备的传入数据,但这意味着如果我们关闭手表,我们就会丢失数据。 Healthkit 确实会收集 iPhone 数据,因此在 Health 应用中您确实会看到步数。
我实际上想查看 healthkit 应用程序中的数据,所以我会不断更新。
简短的问题:我不想考虑设备,我只希望 HK 值随着它的变化而变化。这可能吗?
【问题讨论】:
【参考方案1】:在 iOS 上重现 Health 中显示的聚合的方法是使用 HKStatisticsCollectionQuery
,而不是上传单个样本,然后尝试自己计算图表的值。您不太可能重现 HKStatisticsCollectionQuery
用于组合重叠数据的逻辑,因此直接使用查询要简单得多。
【讨论】:
但是 HKStatisticsCollectionQuery 没有从后台更新,所以当应用程序未打开时我无法跟踪用户的“移动”?以上是关于iOS 获取结合多个设备的 healthkit 数据的主要内容,如果未能解决你的问题,请参考以下文章
是否可以获取 iOS 用户当前的 healthkit 状态?