Я пытаюсь обнаружить три действия: когда пользователь начинает ходить, бегать или бегать. Затем я хочу знать, когда остановка. Я добился успеха в обнаружении, когда кто -то ходит, бегает или работает со следующим кодом: < /p>
- (void)update:(CMAccelerometerData *)accelData {
[(id) self setAcceleration:accelData.acceleration];
NSTimeInterval secondsSinceLastUpdate = -([self.lastUpdateTime timeIntervalSinceNow]);
if (labs(_acceleration.x) >= 0.10000) {
NSLog(@"walking: %f",_acceleration.x);
}
else if (labs(_acceleration.x) > 2.0) {
NSLog(@"jogging: %f",_acceleration.x);
}
else if (labs(_acceleration.x) > 4.0) {
NSLog(@"sprinting: %f",_acceleration.x);
}
< /code>
Проблема, с которой я сталкиваюсь,-это двойное: < /p>
1) Обновление называется несколько раз каждый раз, когда появляется движение, вероятно, потому что оно так часто проверяет, что когда пользователь начинает ходить (т.е. < /p>
2014-02-22 12:14:20.728 myApp[5039:60b] walking: 1.029846
2014-02-22 12:14:20.748 myApp[5039:60b] walking: 1.071777
2014-02-22 12:14:20.768 myApp[5039:60b] walking: 1.067749
< /code>
2) У меня трудности выяснить, как определить, когда пользователь остановился. У кого -нибудь есть советы о том, как реализовать «Остановить обнаружение»
Подробнее здесь: https://stackoverflow.com/questions/219 ... meter-data