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


已标记关键词 清除标记
相关推荐
Android Pedometer仿微信运动走路步数统计源码。尽管记录不一定精准但是从这个项目中可以学习几个不同的技术:加速器交互语音更新后台运行服务。16个源码文件功能说明如下:   CaloriesNotifier 继承接口StepListener, SpeakingTimer.Listener   能量通知实现步伐监听说话监听   DistanceNotifier 继承接口StepListener, SpeakingTimer.Listener   距离通知计算并显示走过的路程。   PaceNotifier 继承接口StepListener, SpeakingTimer.Listener   步伐通知计算和显示速度步/分钟处理输入所需的步伐并通知用户如果他/她走快或慢。   Pedometer 主界面   PedometerSettings 设置属性自定义类   Settings 设置界面   SpeakingTimer 说话时间   反复监听所有对象呼吸。定义由用户设置的时间间隔。   SpeedNotifier 速度通知   计算和显示速度步/分钟处理输入所需的步伐并通知用户如果他/她走快或慢。用途计算速度的步伐和步长的产品。   StepBuzzer 步骤蜂鸣器   一步检测时震动。通常情况下这是不重视用于调试目的。   StepDetector步骤探测器   检测步骤并通知所有听众   StepDisplayer 步骤显示   计数步骤提供的步骤检测并通过当前的步数的活动。   StepListener 步骤监听   StepService 步骤服务   BodyWeightPreference   StepLengthPreference   都是对EditMeasurementPreference 继承 只允许浮点数   EditMeasurementPreference 继承EditTextPreference   它可以处理公制/英制设置。   这款软件的关键点是类StepService喜欢的话可以看源码好好研究。
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页