iOS: ¿Cómo implementar un evento "Shake Device"?

Quiero un evento "Agitar dispositivo" en mi aplicación, es decir, cuando el usuario agita el dispositivo, sucede algo. Intenté implementar:

-(void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    if (event.subtype == UIEventSubtypeMotionShake) {
        //something happens
    }
}

Parece que no funciona .......
Alguien sabe qué método debo usar?

Respuestas a la pregunta(3)

Su respuesta a la pregunta