温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ios 计步器的简单实现

发布时间:2020-07-13 23:03:14 来源:网络 阅读:857 作者:itzhongxin 栏目:移动开发

随着人们生活水平的提高,加上移动技术的快速发展,越来越多的软件进军健康行业,计步器是用来记录个人运动的一项很好的技术。这段时间出于对这一技术的好奇,了解学习了一下计步器的实现过程。


计步器的实现有两种方式,(1),直接调用HealthKit框架获取苹果的健康应用数据.(2)速度传感器运动传感器\加速度传感器\加速器(Motion/Accelerometer Sensor)


(1)HealthKit这种方式简单粗暴,但是也有相应的弊端,这个框架获取到的数据好像是1小时一更新,如果你的软件是想要获取到实时数据的话,这种方式的实现不是最佳选择。

(2)基于CoreMotion框架,先来了解一下几种传感器

运动传感器\加速度传感器\加速计(Motion/Accelerometer Sensor)环境光传感器(Ambient Light Sensor)距离传感器(Proximity Sensor)磁力计传感器(Magnetometer Sensor)内部温度传感器(Internal Temperature Sensor)湿度传感器(Moisture Sensor)陀螺仪(Gyroscope)

在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;

把相应的的方法最好放在一个单例里面,利用单例里面对应的方法我们就能获取到自己想要获取到的数据了。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI