实用知识:计步器的方法使用

来源:互联网 发布:mac系统下载百度网盘 编辑:程序博客网 时间:2024/06/05 15:54
#import "ViewController.h"#import <CoreMotion/CoreMotion.h>@interface ViewController ()// 计步器@property (strong, nonatomic) CMStepCounter *counter;// 新计步器@property (strong, nonatomic) CMPedometer *pedometer;@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];//    [self test1];    // 判断计步器是否可用    if ([CMPedometer isStepCountingAvailable] == NO) {        NSLog(@"计步器不能用");        return;    }    // 实例化    _pedometer = [[CMPedometer alloc] init];    // 开始使用计步器获取数据    [_pedometer startPedometerUpdatesFromDate:[NSDate date] withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) {        // CMPedometerData 保存计步器获取的数据        NSLog(@"走了%zd步", pedometerData.numberOfSteps.intValue);        // 其它数据需要先验证是否可以使用        if ([CMPedometer isDistanceAvailable] == YES) {            NSLog(@"总共走了%zd米", pedometerData.distance.intValue);        }        if ([CMPedometer isFloorCountingAvailable] == YES) {            NSLog(@"上/下了%zd, %zd层楼", pedometerData.floorsAscended.intValue, pedometerData.floorsDescended.intValue);        }        if ([CMPedometer isPaceAvailable] == YES) {            // s/m   秒/米   1米走多少秒            NSLog(@"每米走%f秒", pedometerData.currentPace.floatValue);        }    }];    // 结束使用计步器获取数据//    [_pedometer stopPedometerUpdates];}//iOS87.0及以前的版本使用的方法- (void)test1{    // 判断计步器是否可用    if ([CMStepCounter isStepCountingAvailable] == NO) {        NSLog(@"计步器不能用");        return;    }    _counter = [[CMStepCounter alloc] init];    // updateOn 计步器计算的起始值    [_counter startStepCountingUpdatesToQueue:[[NSOperationQueue alloc] init] updateOn:0 withHandler:^(NSInteger numberOfSteps, NSDate * _Nonnull timestamp, NSError * _Nullable error) {        NSLog(@"走了%zd步", numberOfSteps);    }];    //    [_counter stopStepCountingUpdates];}@end
0 0
原创粉丝点击