Looking how implement a shaking function? Well I was looking for it as well.
Here is the piece of code that does everything :) It’s looking if they were enough shakes within 0.5 a sec then do whatever!
#pragma mark - Acceleration delegate methods
- (void) accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration{
UIAccelerationValue length,x,y,z;
accelerometer[0] = acceleration.x * 0.1 + accelerometer[0] * (1.0 - 0.1); accelerometer[1] = acceleration.y * 0.1 + accelerometer[1] * (1.0 - 0.1); accelerometer[2] = acceleration.z * 0.1 + accelerometer[2] * (1.0 - 0.1);
x = acceleration.x - accelerometer[0];
y = acceleration.y - accelerometer[0];
z = acceleration.z - accelerometer[0];
length = sqrt(x * x + y * y + z * z);
if((length >= 4.0) && (CFAbsoluteTimeGetCurrent() > lastTime + 0.5)) {
lastTime = CFAbsoluteTimeGetCurrent();
// If shaken do whatever
}
}