Is there any working algorithm to count steps on all iOS devices (with or without M7 chip)?

326 views Asked by At

I want to make an app. that count user steps. So for that I have searched through the google but didn't found anything that could really help me. Although I came to know that by using Accelerometer data we can get the steps and I tried with this code

-(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;
}

But i am not getting the expected results. So if anyone out there know a better algorithm or a link that could help me out. Plzz share

1

There are 1 answers

1
Kaan Dedeoglu On

Please check out CMStepCounter for iOS 7. It has been deprecated in iOS 8, for iOS 8+, check out CMPedometer.