计步器

    xiaoxiao2023-06-01  2

    //需要走一会label才会更新.....

    #import "ViewController.h"

    #import <CoreMotion/CoreMotion.h>

    @interface ViewController ()

    @property (weak, nonatomic) IBOutlet UILabel *textLabel;

    @property (nonatomic , strong)CMStepCounter *stepCounter;

    @property (nonatomic , strong)CMPedometer *pedometer;

    @end

    @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

        

    //    [self deprecatedApi];

        

        // 创建计步器对象

        self.pedometer = [CMPedometer new];

        

        //判断设备是否支持

        if ([CMPedometer isStepCountingAvailable]) {

            

            __weak typeof(self) weakSelf = self;

            

            //开始计步

            [self.pedometer startPedometerUpdatesFromDate:[NSDate new] withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) {

                

                weakSelf.textLabel.text = [NSString stringWithFormat:@"您已走了%@",pedometerData.numberOfSteps];

                

                /*

                 // 开始时间

                 @property(readonly, nonatomic) NSDate *startDate;

                 

                 // 结束时间

                 @property(readonly, nonatomic) NSDate *endDate;

                 

                 // 走了多少步

                 @property(readonly, nonatomic) NSNumber *numberOfSteps;

                 

                 // 走了多少距离

                 @property(readonly, nonatomic, nullable) NSNumber *distance;

                 

                 // 上楼

                 @property(readonly, nonatomic, nullable) NSNumber *floorsAscended;

                 

                 // 下楼

                 @property(readonly, nonatomic, nullable) NSNumber *floorsDescended;

                 

                 // 步速

                 @property(readonly, nonatomic, nullable) NSNumber *currentPace NS_AVAILABLE(NA,9_0);

                 

                 // 节奏

                 @property(readonly, nonatomic, nullable) NSNumber *currentCadence NS_AVAILABLE(NA,9_0);

                 */

            }];

        }

        

    }

    // 老的API 已经被废弃

    - (void)deprecatedApi {

        // 创建计步器对象(注意需要强引用)

        self.stepCounter = [CMStepCounter new];

        

        // 判断设备是否支持

        if ([CMStepCounter isStepCountingAvailable]) {

            

            __weak typeof(self) weakSelf = self;

            

            //开始计步

            [self.stepCounter startStepCountingUpdatesToQueue:[NSOperationQueue mainQueue] updateOn:1 withHandler:^(NSInteger numberOfSteps, NSDate * _Nonnull timestamp, NSError * _Nullable error) {

                

                weakSelf.textLabel.text = [NSString stringWithFormat:@"您已走了%ld",numberOfSteps];

                

            }];

        }

        

    }

    @end

    转载请注明原文地址: https://ju.6miu.com/read-1262210.html
    最新回复(0)