如何在使用加速度计数据时获得用户的步数?

时间:2015-03-19 11:52:27

标签: ios objective-c iphone health-kit uiaccelerometer

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

Edit2:在搜索google上花了好几天后我尝试了很多,但仍无法找到使用加速度计计算用户步数的工作算法。 谁可以帮助我?

1 个答案:

答案 0 :(得分:0)

如果您使用的是更高版本的iOS,那么您正在寻找CMMotionManager。 但是,如果您想继续使用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 ... 
}

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