iOS开发技巧

计步器(CMStepCounter) - (Obj-C)

2016-07-15  本文已影响159人  ShenYj

CMStepCounter计步的结果并不是很准确,iOS 8.0 已经过期

示例代码:

#import "ViewController.h"
#import <CoreMotion/CoreMotion.h>

@interface ViewController ()
@property (nonatomic,strong) CMStepCounter *stepCounter;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 1. 创建计步器
    self.stepCounter = [[CMStepCounter alloc]init];
    
    // 2. 开始计步
    
    /**
     *  开始计步
     *
     *  @param UpdatesToQueue 执行回调的队列
     *  @param updateOn       从第几步开始计算
     *  @param Handler        回调
     *
     */
    [self.stepCounter startStepCountingUpdatesToQueue:[NSOperationQueue mainQueue] updateOn:1 withHandler:^(NSInteger numberOfSteps, NSDate * _Nonnull timestamp, NSError * _Nullable error) {
        NSLog(@"%s",__func__);
        NSLog(@"%zd",numberOfSteps);
        
    }];
    
}

@end

运行时会提示授权:

授权.jpg

因为需要实时获取数据,通过回调返回数据,所以为了保证创建的计步器对象不被销毁,同样需要强引用

上一篇下一篇

猜你喜欢

热点阅读