是否有任何可行的算法来计算所有 iOS 设备(带或不带 M7 芯片)上的步数?
Posted
技术标签:
【中文标题】是否有任何可行的算法来计算所有 iOS 设备(带或不带 M7 芯片)上的步数?【英文标题】:Is there any working algorithm to count steps on all iOS devices (with or without M7 chip)? 【发布时间】:2015-04-23 11:15:51 【问题描述】:我想做一个应用程序。计算用户步数。因此,为此我搜索了谷歌,但没有找到任何可以真正帮助我的东西。 虽然我知道通过使用加速度计数据我们可以得到步骤,我尝试使用这段代码
-(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;
但我没有得到预期的结果。因此,如果有人知道更好的算法或可以帮助我的链接。 请分享
【问题讨论】:
【参考方案1】:对于 ios 7,请查看 CMStepCounter
。它在 iOS 8 中已被弃用,对于 iOS 8+,请查看 CMPedometer
。
【讨论】:
我需要该应用程序在 iPhone 5 和没有 M7 芯片的较低版本中运行,并且据我了解 CMStepCounter 和 CMPedometer 仅适用于 M7 芯片。以上是关于是否有任何可行的算法来计算所有 iOS 设备(带或不带 M7 芯片)上的步数?的主要内容,如果未能解决你的问题,请参考以下文章