iOS加速计、陀螺仪

2023-03-20  本文已影响0人  Geniune
CMMotionManager *motionManager = [[CMMotionManager alloc] init];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];

//加速计
if(motionManager.isAccelerometerAvailable){
    
    motionManager.accelerometerUpdateInterval = 1.0;//每隔1秒更新一次

    [motionManager startAccelerometerUpdatesToQueue:queue withHandler:^(CMAccelerometerData * _Nullable accelerometerData, NSError * _Nullable error) {
        
        if(!error){
            //1.X轴加速度,单位m/s^2
            //2.Y轴加速度,单位m/s^2
            //3.Z轴加速度,单位m/s^2
            mb_log_info(@"accel,%f,%f,%f", accelerometerData.acceleration.x, accelerometerData.acceleration.y, accelerometerData.acceleration.z);
            });
        }
    }];
}

//陀螺仪
if(motionManager.gyroAvailable){
    
    motionManager.gyroUpdateInterval = 1.0f;//每隔1秒更新一次
    
    [motionManager startGyroUpdatesToQueue:queue withHandler:^(CMGyroData * _Nullable gyroData, NSError * _Nullable error) {
        
        if(!error){
            //1.X轴角速度,单位dps
            //2.Y轴角速度,单位dps
            //3.Z轴角速度,单位dps
            mb_log_info(@"gyro,%f,%f,%f", gyroData.rotationRate.x, gyroData.rotationRate.y, gyroData.rotationRate.z);
        }
    }];
}

上一篇 下一篇

猜你喜欢

热点阅读