Osheep

时光不回头,当下最重要。

iOS 计步器附demo

简介:

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

实现方式:

1.CMStepCounter

我们在iOS7中可以用CMStepCounter获取步数,但是在iOS8这个就过时了

+ (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;停止监测步数变化

2.CMPedometer

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

+ (BOOL)isStepCountingAvailable;判断计步器是否可以使用

+ (BOOL)isDistanceAvailable;判断是否可以获取距离

+ (BOOL)isFloorCountingAvailable;当前是否可以获取上下楼层数

+ (BOOL)isPaceAvailable;当前是否可以获取速(s/m)

+ (BOOL)isCadenceAvailable;当前是否可以获取节奏

– (void)queryPedometerDataFromDate:(NSDate )start toDate:(NSDate )end withHandler:(CMPedometerHandler)handler;根据开始和结束时间查询行走相关信息

– (void)startPedometerUpdatesFromDate:(NSDate *)start withHandler:(CMPedometerHandler)handler;从某一时刻开始监测步数变化

– (void)stopPedometerUpdates;停止监测步数变化

代码及简单实现思路:

1.导入#import <CoreMotion/CoreMotion.h>

2.判断计步器是否可以使用

3. 创建计步器

4. 开始计步

注意:如果写在viewDidLoad. 先走了计步的方法, 然后才授权, 不可能获取数据,此外我们需要在Info.plist中添加key- Privacy – Motion Usage Description,否则会崩溃

《iOS 计步器附demo》

最后–>(代码思路,如果有相同之处,不是故意为之)以下是demo地址:demo

点赞