Saltar al contenido

¿Cómo obtener datos del acelerómetro en IOS?

Leila, parte de nuestro equipo, nos hizo el favor de redactar este tutorial porque domina perfectamente este tema.

Solución:

Debe usar el marco Core Motion (introducido en iOS 4.0) como sustituto. Crear una instancia de CMMotionManager y dile a startAccelerometerUpdatesToQueue:withHandler:pasándole un NSOperationQueue y un bloque que se ejecutará en la cola especificada cada vez que haya nuevos datos de acelerómetro disponibles.

Parece que UIAccelerometer y UIAccelerometerDelegate fueron reemplazados por el marco CoreMotion.

Puedes encontrar la respuesta aquí:

¿Por qué acelerómetro: didAccelerate: está en desuso en IOS5?

Espero que ayude.

Aquí hay un código de muestra útil que encontré para CoreMotion en este enlace.

    @interface ViewController ()

    @property (nonatomic, strong) CMMotionManager *motionManager; 
    @property (nonatomic, strong) IBOutlet UILabel *xAxis; 
    @property (nonatomic, strong) IBOutlet UILabel *yAxis; 
    @property (nonatomic, strong) IBOutlet UILabel *zAxis; 

    @end

    @implementation ViewController
    - (void)viewDidLoad 
     
      [super viewDidLoad];

      self.motionManager = [[CMMotionManager alloc] init]; 
      self.motionManager.accelerometerUpdateInterval = 1;

      if ([self.motionManager isAccelerometerAvailable]) 
       
        NSOperationQueue *queue = [[NSOperationQueue alloc] init];
        [self.motionManager startAccelerometerUpdatesToQueue:queue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) 
            dispatch_async(dispatch_get_main_queue(), ^ 
              self.xAxis.text = [NSString stringWithFormat:@"%.2f",accelerometerData.acceleration.x]; 
              self.yAxis.text = [NSString stringWithFormat:@"%.2f",accelerometerData.acceleration.y]; 
              self.zAxis.text = [NSString stringWithFormat:@"%.2f",accelerometerData.acceleration.z];
            );
          ]; 
       else 
      NSLog(@"not active"); 
    
@end

Eres capaz de confirmar nuestra función fijando un comentario y dejando una puntuación te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *