Код: Выделить всё
- (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);
}
1) обновление вызывается несколько раз каждый раз, когда движение, вероятно, потому, что оно проверяет так часто, что когда пользователь начинает ходить (т.е. _acceleration.x >= .1000), оно все равно >= .1000, когда он снова вызывает обновление.
Пример журнала:
Код: Выделить всё
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
Подробнее здесь: https://stackoverflow.com/questions/219 ... meter-data
Мобильная версия