在后台访问 healthkit 锻炼

Posted

技术标签:

【中文标题】在后台访问 healthkit 锻炼【英文标题】:Accessing healthkit workouts in the background 【发布时间】:2019-04-19 09:34:15 【问题描述】:

我构建了一个应用程序,该应用程序从 healthkit(来自外部来源)收集锻炼数据,并保存在服务器上,以便其他用户可以在 feed 中查看锻炼。我最初设置了在打开应用程序时要处理的查询,但后来意识到数据库只有在用户打开应用程序时才会更新,如果他们一周不打开应用程序会导致问题。

我研究了一个解决方案,但似乎苹果只允许您在用户手机解锁时访问 healthkit 数据。有没有一种方法可以在将新的锻炼添加到 healthkit 时运行 healthkit 查询,我可以在后台处理?

【问题讨论】:

【参考方案1】:

当设备锁定时,无法可靠地读取 HealthKit 数据;实际上,数据在锁定时与设备钥匙串一起被加密。在某些情况下,您可以在存储被锁定时写入数据。

一种解决方案是提示用户定期重新打开应用以进行同步。

【讨论】:

为了促进重新打开应用程序或在后台获得几秒钟,本地通知和静默推送通知可能会有所帮助。

以上是关于在后台访问 healthkit 锻炼的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WatchOS 上通过 HealthKit 访问锻炼?

应用程序在后台时如何查询 HealthKit (HKWorkout) 更新?

如何使用 Swift 在 healthkit 中访问锻炼的元数据

如何从 HealthKit 跑步锻炼中获取海拔增益、节奏和跑步速度?

如何从 HealthKit 跑步锻炼中获取海拔增益、节奏和跑步速度?

HealthKit 后台交付在一分钟内运行多次