CMPedometer是一个iOS8之后的计步对象,属于<CoreMotion/CoreMotion.h>
库里的。iOS7之前是CMStepCounter
用这个类实现。没想到苹果会有一个专业的计步类,而自己冥思苦想的如何实现一个计步功能。。并且14年有一次面试被问题如何实现计步,我并没答上来,直到现在还耿耿于怀,没想到原本就有这个类。。尴尬了
1.先引用头文件
#import <CoreMotion/CoreMotion.h>
2.定义属性
@property(nonatomic, strong) CMPedometer *pedometer;
3.具体使用
if ([CMPedometer isStepCountingAvailable]) {
NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:-60*60*2];//两小时前
NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:-60*60*1];//一小时前
_pedometer = [[CMPedometer alloc] init];
[_pedometer queryPedometerDataFromDate:date1 toDate:date2 withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) {
if (!error) {
NSLog(@"");
} else {
NSLog(@"%@", error);
}
}];
}