CMPedometer(计步器)使用,获取用户行走步数、距离等信息

用途

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.)"

Link : CMPedometer(计步器)使用,获取用户行走步数、距离等信息