对于HealthKit这个框架,很多开发者都不陌生,通过读取HealthKit我们可以获取到运动的信息。追本溯源,这些信息是由CoreMotion提供的。
CoreMotion有陀螺仪和加速器的功能,里面的一些类和接口也是基于这两个功能,系统帮我们计算出来的,比如步数统计和运动状态的判断。这里说一下CoreMotion的一个类 CMPedometer。
CMPedometer 主要是保存有关步行(包括跑步)的一些信息,能保存近7天的步数记录。并提供了查询近七天内任意时间段的步数信息。
+ (BOOL)isStepCountingAvailable;//判断是否可以支持获取步数
+ (BOOL)isDistanceAvailable;//判断是否可以支持返回步行的距离
+ (BOOL)isFloorCountingAvailable;//判断是否可以支持爬楼梯的检测
/*
这个方法用来查询近7天内的任意时间段的CMPedometerData信息。
其中CMPedometerData 包含步数等信息。在下面使用的时候介绍。
*/
- (void)queryPedometerDataFromDate:(NSDate *)start
toDate:(NSDate *)end
withHandler:(CMPedometerHandler)handler;