Пусть ваш класс (ViewController или любой другой) реализует протокол UIAccelerometerDelegate. Тогда
-(void)startListening {
UIAccelerometer *meter = [UIAccelerometer sharedAccelerometer];
meter.updateInterval = 1.0; // One second
meter.delegate = self;
}
Затем ваш делегат может использовать объект UIAcceleration, предоставленный ему UIAccelerometer, для выполнения всего, что вам нужно. Например, если вам нужна только величина ускорения iPhone, вы можете, с двойной переменной экземпляра accelMagnitude, иметь:
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
accelMagnitude = sqrt(acceleration.x * acceleration.x
+ acceleration.y * acceleration.y
+ acceleration.z * acceleration.z);
[self refreshDisplay: accelMagnitude];
}
, где refreshDisplay выполняет все, что вам нужно.