开源项目Running Life 源码分析(二)

432 查看

小小回顾

上一篇分析了项目的大体框架和跑步模块一些关键技术的实现。今天这篇是Running Life源码分析的第二篇,主要探讨以下问题:
1、HealthKit框架的使用;
2、贝塞尔曲线+帧动画实现优雅的数据展示界面;
3、实现一个view的复用机制解决内存暴涨的问题;

HealthKit

2014年6月2日召开的年度开发者大会上,苹果发布了一款新的移动应用平台,可以收集和分析用户的健康数据,苹果命名为“Healthkit ”。它管理着用户得健康数据,包括用户走路的步数、消耗的卡路里、体重、身高等等。相信大多数微信用户都知道微信运动这个功能,每天和好友PK自己的走路的步数,其实在iOS端的微信不做步数统计,它的数据源来自Healthkit。
那如何引入这个框架呢?
首先你要在你的App ID设置那里选择支持HealthKit,然后在Xcode做相应的设置:

11563e716367ac88566233dced5f57e140
这样基本的配置工作就结束了,接下就是码代码了:
我将SDK和框架的相关注册工作分离到“SDKInitProcess.h”这个文件,这样做是为了方便对SDK注册管理,此外还可以给AppDelegate瘦身。注册如下:

HKObjectType是你想从HealthKit框架获取的数据类型,针对我们的项目,我们需要获取距离数据。
我将获取HealthKit数据封装在工具类的HealthKitManager中,代码如下:

第一个方法是从HealthKit获取每个月份的距离数据,我来带大家看具体的实现代码: