随着移动手机设备硬件的进步,持续带来了各种人性化的指标分析体系,例如运动数据统计分析、饮食习惯统计分析等等,大大增强了人类对于自身各种活动的认知和理解。而在这个快节奏的时代,睡眠质量的分析比以往任何时候都更加的有意义,一场睡眠革命正在悄然的在人们的生活中崛起。通过针对睡眠质量的统计分析,能够清晰的获知人们睡眠的开始、结束、从而显露出睡眠的趋势等等。
苹果提供了一种非常酷的方式以用来于用户的个人健康信息进行数据交流,并且保持了数据安全和存储安全,这就是苹果在iOS系统中内建的健康应用 — Health。而Health应用程序使用的技术框架是苹果专门打造的一款健康服务框架 — HealthKit,开发者不仅可以使用此框架构建自身的健康类应用程序,而且还允许访问健康应用中的数据分析结果。
在Health应用程序中,并没有自动去统计用户的睡眠起始时间等数据,但是Health为我们提供了一套数据写入和分析功能,开发者可以依照特定的数据格式将睡眠数据写入到Health,通过Health分析后,得到数据的分析结果。
简介
HealthKit 框架提供了一种保存数据的加密数据库叫做Health Store,可以使用HKHealthStore类来访问此数据库,而且不仅在iPhone还是Apple Watch上都有自己的Health Store。健康数据可以在iPhone和Apple Watch之间进行同步,不仅如此,Health Store也会定期的清楚老旧的数据,以节省存储空间。需要注意的是HealthKit和Health应用程序均不支持iPad。
如果需要针对健康数据构建一个iOS应用或者watchOS应用,HealthKit是首选的框架工具。HealthKit能够统一管理来自各种数据源的数据,根据用户的喜好自动合并来自不同数据源的数据,并且能够访问到每个数据来源平台的数据,并将数据合并。这样不仅可以对用户的体征进行测量记录,运动健身统计或者饮食营养数据统计,还可以用于针对睡眠数据进行分析等。
在接下来,将使用Healthkit框架访问和保存用户的睡眠数据,了解用户的睡眠情况,同样的方法在watchOS上也是适用的,工程样例和代码使用了Swift 3.0 和Xcode 8 进行构建。
在开始之前,可以下载Starter project,此开始工程中已经创建了用户界面以及一些方法,当运行了此开始工程后,可以看到界面上有一个计时器数据展示标签,按下开始按钮后,计时器读数将会持续变化。
使用HealthKit框架
我们的目标应用程序主要的功能是保存用户的睡眠分析信息和使用开始和停止按钮检索数据。为了使用HealthKit,你必须给予应用程序HealthKit功能程序包,选择工程当前的target -> capabilities,打开HealthKit功能程序包。