How to get accelerometer data in IOS?

前端 未结 6 2212
被撕碎了的回忆
被撕碎了的回忆 2021-02-08 09:58

I am using the UIAccelerotmeterDelegate method accelerometer:didAccelerate: but recently that method has been deprecated in iOS 5.0. So what is the alternative way

6条回答
  •  没有蜡笔的小新
    2021-02-08 10:29

    Add CoreMotion framework to the project first. Then:

    #import 
    
    @property (strong, nonatomic) CMMotionManager *motionManager;
    
    - (void)viewDidLoad {
        _motionManager = [CMMotionManager new];
        _motionManager.accelerometerUpdateInterval = 0.01;       // 0.01 = 1s/100 = 100Hz
        if ([_motionManager isAccelerometerAvailable])
        {
            NSOperationQueue *queue = [NSOperationQueue new];
            [_motionManager startAccelerometerUpdatesToQueue:queue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error){
                 NSLog(@"X = %0.4f, Y = %.04f, Z = %.04f",
                       accelerometerData.acceleration.x,
                       accelerometerData.acceleration.y,
                       accelerometerData.acceleration.z);
             }];
        }
    }
    

提交回复
热议问题