plus como activo activar iphone objective-c xcode core-motion

como - Sencillo iPhone detección de movimiento



nfc iphone 8 plus activar (2)

Creo que debes usar Core Motion. La buena noticia es que no es tan difícil de usar para su dominio problemático. Comience a leer la Guía de manejo de eventos especialmente la sección Manejo de dispositivos procesados: datos de movimiento. Si solo está interesado en saber que se realizó un movimiento leve, como indicó, puede omitir el manejo de la rotación y el procesamiento de la señal estrecha en CMDeviceMotion.userAcceleration. Esto se debe a que cada rotación da como resultado señales de acelerómetro también.

Cree un CMDeviceMotionHandler como se describe en startDeviceMotionUpdatesToQueue:withHandler: Su CMDeviceMotionHandler debería hacer algo como:

float accelerationThreshold = 0.2; // or whatever is appropriate - play around with different values CMAcceleration userAcceleration = deviceMotion.userAcceleration; if (fabs(userAcceleration.x) > accelerationThreshold) || fabs(userAcceleration.y) > accelerationThreshold || fabs(userAcceleration.z) > accelerationThreshold) { // enter code here }

Básicamente eso es todo. Tenga en cuenta que cada aceleración tendrá una contraparte. Eso significa que, si aplica una fuerza para mover (es decir, acelerar) el dispositivo hacia la derecha, habrá una contrapartida para la desaceleración para detener el movimiento y dejar que el dispositivo descanse en la nueva posición. Entonces su condición if se volverá realidad dos veces por cada movimiento.

Necesito detectar cuando el giroscopio / acelerómetro se activa una cierta cantidad. Básicamente para detectar cuando hay movimiento del dispositivo. No sé nada sobre Core Motion.

Tal vez alguien pueda dirigirme a un tutorial inicial o algo así.

Gracias por adelantado.


En viewDidAppear , conviértase en el primer respondedor:

- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [self becomeFirstResponder]; }

Y asegúrate de que puedas ser el primero en responder:

- (BOOL)canBecomeFirstResponder { return YES; }

Entonces puedes implementar la detección de movimiento.

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { if (event.subtype == UIEventTypeMotion){ //there was motion } }