是否有任何工作algorithm来计算所有iOS设备(有或没有M7芯片)的步骤?

我想做一个应用程序。 那个用户步数。 所以,我已经通过谷歌search,但没有发现任何可以真正帮助我。 虽然我知道通过使用加速度计数据我们可以得到步骤,我尝试了这个代码

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration { const float violence = 1.2; static BOOL beenhere; BOOL shake = FALSE; if (beenhere) return; beenhere = TRUE; if (acceleration.x > violence || acceleration.x < (-1* violence)) shake = TRUE; if (acceleration.y > violence || acceleration.y < (-1* violence)) shake = TRUE; if (acceleration.z > violence || acceleration.z < (-1* violence)) shake = TRUE; if (shake) { //(shake || length>=1.7) numSteps=numSteps+1; self.stepCountLabel.text = [NSString stringWithFormat:@"%d", numSteps]; } beenhere = false; } 

但是我没有得到预期的结果。 所以如果有人知道一个更好的algorithm或链接可以帮助我。 Plzz分享

请查看iOS 7的CMStepCounter 。它在iOS 8中已被弃用,对于iOS 8+,请查看CMPedometer