iOS 计步器开发

作者: 牧码人_ | 来源:发表于2016-05-19 16:49 被阅读1902次

在微信运动、QQ健康等泛滥的年代,我们公司也终于要搞一个计步器,特此记录。

对于使用了M7或者M8处理器的设备(iPhone5s、iPhone6、iPhone6 Plus、iPhone6s、iPhone6s Plus、),Core Motion框架支持了一些预置的motion动作,比如步数、爬楼还有移动类型(行走、骑行等等)。

所以计步器的开发其实很简单,我们只需要用Core Motion框架就可以直接从设备读取监测了。当然我们还可以用HealthKit进行开发,在这里我们不进行详细的介绍。

Core Motion中的CMStepCounter和CMPedometer是我们今天的重点。

CMPedometer


在iOS8及其以上系统中我们可以使用CMPedometer类获取行走相关信息(步数、距离、上楼、下楼、当前速度等)。

当前设备是否可以获取步数
+ (BOOL)isStepCountingAvailable;
当前设备是否可以获取距离
+ (BOOL)isDistanceAvailable;
当前设备是否可以获取上下楼层数
+ (BOOL)isFloorCountingAvailable;
当前设备是否可以获取速度(s/m)
+ (BOOL)isPaceAvailable
当前设备是否可以获取节奏
+ (BOOL)isCadenceAvailable
根据开始和结束时间查询行走相关信息
- (void)queryPedometerDataFromDate:(NSDate *)start
toDate:(NSDate *)end
withHandler:(CMPedometerHandler)handler;
从某一时刻开始监测步数变化
- (void)startPedometerUpdatesFromDate:(NSDate *)start
withHandler:(CMPedometerHandler)handler;
停止监测步数变化
- (void)stopPedometerUpdates;

CMStepCounter


在iOS7中我们只能使用CMStepCounter类获取步数,并且仅能够获取步数。

判断步数统计是否有效
+ (BOOL)isStepCountingAvailable;

根据开始和结束时间查询步数
- (void)queryStepCountStartingFrom:(NSDate *)start
to:(NSDate *)end
toQueue:(NSOperationQueue *)queue
withHandler:(CMStepQueryHandler)handler;

开始断监测步数变化
- (void)startStepCountingUpdatesToQueue:(NSOperationQueue *)queue
updateOn:(NSInteger)stepCounts
withHandler:(CMStepUpdateHandler)handler;

停止监测步数变化
- (void)stopStepCountingUpdates;

总结


综上我们可以看出CMPedometer类可以获取的运动信息更加详细。而CMStepCounter类仅能够获取步数。我们在使用中需要判断系统版本使用不同的类获取行走信息。

我对CMPedometer 和CMStepCounter做了简单封装,使得你只需要一行代码就可以获取及监测行走信息。 代码奉上

相关文章

  • iOS 计步器开发

    在微信运动、QQ健康等泛滥的年代,我们公司也终于要搞一个计步器,特此记录。 对于使用了M7或者M8处理器的设备(i...

  • iOS计步器实现

    前几天写一个关于养生和医疗的一个项目,要写一个类似微信运动的计步器功能,只好先去研究一下计步器功能实现。 之前在我...

  • 基于三轴传感器的计步器代码实现-iOS

    原有iOS计步器采用系统框架swift语言调用 改为三轴传感器的计步器实现 开启陀螺仪采集三轴数据 计步核心 波峰...

  • iOS Healthkit和CMPedometer区别

    转IOS 计步器功能 Healthkit和CMPedometer文/贪吃鱼(简书作者)原文链接:http://ww...

  • iOS-Android 加速计和陀螺仪的调用机制

    iOS 加速计、陀螺仪、计步器、磁强计和气压计的数据是通过核心运动框架 CoreMotion来管理的。 iOS 1...

  • iOS 计步器附demo

    简介: 很多app都实现了计步这个功能,现在的人们对健康关注度越来越高,所以说来简单写了一个计步功能的demo 实...

  • iOS-计步器CMStepCounter

    startStepCountingUpdatesToQueue:updateOn:withHandler 第一个参...

  • 探索iOS计步器功能

    我的一个朋友是从事外出销售工作,老板不但要看他每天的业绩,也会去关注他每天在某个APP的行走步数。你应该知道的,业...

  • iOS 实现计步器功能

    现在越来越多的人关注运动和健康,iOS系统也在很早的时候就自带了健康APP,下面详细描述一下在我们开发中,怎么实现...

  • iOS计步器,HealthKit应用杂谈

    需求:1.最近需要在APP当中增加记步功能,提升用户的活跃率。并且希望能够保留用户的健康数据。2.根据苹果健康的数...

网友评论

    本文标题:iOS 计步器开发

    本文链接:https://www.haomeiwen.com/subject/zttgrttx.html