如何使用加速度计数据获取用户的步数?



我想计算用户步数(比如计步器)。我知道iPhone 5s、6和6+可以使用CMStepCounterCMPedometer类(使用M7芯片的设备),但iPhone 5及更低版本不支持M7芯片,所以我们不能使用CoreMotion。通过在互联网上搜索,我知道我们可以使用加速度计传感器来达到这个目的。但在花了很多时间之后,我仍然无法制定出一个准确可行的算法。

编辑2:花了几天时间在谷歌上搜索后,我尝试了很多,但仍然找不到一个使用加速度计计算用户步数的有效算法。有谁能帮我吗?

CMMotionManager是您在使用更高版本的iOS时所需要的。但是,如果你想继续使用iOS 5或更低版本,你需要使用以下内容,尽管这是不推荐的。

UIAccelerometer * accelerometer = [UIAccelerometer sharedAccelerometer];
accelerometer.delegate = self;

可以获得x、y、z值的方法是:

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
    //Check your x,y,z values to find step ... 
}

如果你需要知道步进计数器背后的逻辑,你可以在谷歌中搜索并阅读:)

相关内容

最新更新