从 HealthKit 存储数据

Posted

技术标签:

【中文标题】从 HealthKit 存储数据【英文标题】:Storing Data from HealthKit 【发布时间】:2021-08-10 14:47:39 【问题描述】:

我正在处理一个与 Swift 和 HealthKit 以及我的团队打交道的项目,我想知道如果得到用户的许可,我们是否允许将 HealthKit 数据外部存储在数据库中?我查看了 HealthKit 的文档,并没有真正找到任何东西,除非我忽略了它。任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

指南和文档中有大量信息

这里有一些亮点......

指南状态

隐私保护 您必须请求访问人员数据的权限,并且必须采取所有必要步骤来保护该数据。在您获得许可后,必须通过清楚地向他们展示您如何使用他们的数据来维持人们的信任。如需开发者指南,请参阅保护用户隐私。

提供连贯的隐私政策。 在应用提交过程中,您必须提供指向明确声明的隐私政策的 URL,以便人们在点击 App Store 中的链接时可以查看该政策您的应用程序的页面。如需开发者指南,请参阅应用信息 > App Store Connect 帮助。

仅在需要时请求访问健康数据。 例如,当人们记录体重时请求访问体重信息是有意义的,但不是在您的应用启动后立即请求访问。当您的请求与当前上下文明确相关时,您可以帮助人们了解您的应用程序的意图。此外,人们可以更改他们授予的权限,因此您的应用程序应该在每次需要访问权限时发出请求。如需开发者指南,请参阅 requestAuthorization(toShare:read:completion:)。

通过向标准权限屏幕添加描述性消息来阐明您的应用的意图。当被要求批准对健康数据的访问时,人们希望看到系统提供的权限屏幕。写几句简洁的句子来解释为什么你需要这些信息,以及人们如何从与你的应用程序共享中受益。避免添加复制标准权限屏幕的行为或内容的自定义屏幕。

https://developer.apple.com/design/human-interface-guidelines/healthkit/overview/

还有一点需要注意

用户的设备将所有 HealthKit 数据存储在本地。为安全起见,当用户锁定设备时,设备会加密 HealthKit 存储。因此,您的应用在后台运行时可能无法从存储中读取数据。但是,即使手机被锁定,您的应用仍然可以写入商店。用户解锁手机后,HealthKit 会临时缓存数据并将其保存到加密存储中。

指定您的应用如何使用健康数据 此外,您的应用不得访问 HealthKit API,除非该应用的主要设计目的是提供健康或健身服务。您的应用作为健康和健身服务的角色必须在营销文本和用户界面中都很明确。具体来说,以下指南适用于所有 HealthKit 应用程序: 您的应用不得将通过使用 HealthKit 框架获得的信息用于广告或类似服务。请注意,您仍然可以在使用 HealthKit 框架的应用程序中投放广告,但您不能使用来自 HealthKit 商店的数据来投放广告。 未经用户明确许可,您不得将通过 HealthKit 获得的任何信息透露给第三方。即使获得许可,您也只能将信息分享给第三方,前提是他们也为用户提供健康或健身服务。 您不能将通过 HealthKit 获得的信息出售给广告平台、数据经纪人或信息经销商。 如果用户同意,您可以与第三方共享他们的 HealthKit 数据以进行医学研究。 您必须向用户明确披露您和您的应用将如何使用他们的 HealthKit 数据。

https://developer.apple.com/documentation/healthkit/protecting_user_privacy

为了匹配 Apple 的安全性,您必须加密数据,因此您可能必须遵守联邦加密指南

https://developer.apple.com/documentation/security/complying_with_encryption_export_regulations

“正确地”做这件事需要很多时间

【讨论】:

感谢您的帮助!另外,我知道如果可能的话会更难,但是可以这样存储健康记录数据吗? 可能,我不为 Apple 工作,也没有亲自尝试过,但只要您遵守世界各地监管隐私和健康数据的不同法规,我不明白为什么不这样做.

以上是关于从 HealthKit 存储数据的主要内容,如果未能解决你的问题,请参考以下文章

在我的应用程序中存储 HealthKit 数据

没有 iPhone 的 Apple Watch 上的 HealthKit 数据存储?

从 HealthKit 检索心率数据时遇到问题

通过 REST API 查询 HealthKit 数据

通过 REST API 查询 HealthKit 数据

从 HealthKit 查询中检索 HKWorkoutTypeIdentifier