用途
CMPedometeri,iOS8.0及以后系统可以使用,统计某段时间内用户步数,距离信息。
代码实现
引入框架CoreMotion.framework
#import <CoreMotion/CoreMotion.h>
@property (strong, nonatomic) CMPedometer *pedonmeter;
_pedonmeter = [[CMPedometer alloc] init];
if ([CMPedometer isStepCountingAvailable]) {
[_pedonmeter queryPedometerDataFromDate:[NSDate dateWithTimeIntervalSinceNow:-60*60*24*2] toDate:[NSDate dateWithTimeIntervalSinceNow:-60*60*24*1] withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) {
if (error)
{
NSLog(@"error===%@",error);
}
else {
NSLog(@"步数===%@",pedometerData.numberOfSteps);
NSLog(@"距离===%@",pedometerData.distance);
}
}];
}else{
NSLog(@"不可用===");
}
错误处理
如果出现以下错误,是因为CMPedometer回调时,对象已经没有了,所以声明为属性就可以了。
Error Domain=CMErrorDomain Code=103 "The operation couldn’t be completed. (CMErrorDomain error 103.)"