Я пытаюсь использовать CMMotionManager для отслеживания того, бегает ли пользователь, гуляет или едет.В состоянии покоя он показывает вождение, предполагая, что он отображает старое значение.Как я могу очистить кэш, чтобы он показывал правильную вещь или, альтернативно, может быть что-то не так с моим кодом, заставляющим его показывать автомобильный, когда телефон находится в состоянии покоя:
Вот мой код:
//at beginning of class
let motionManager = CMMotionManager()
let motionActivityManager = CMMotionActivityManager()
//in viewdidload
if self.motionManager.isAccelerometerAvailable {
self.motionManager.accelerometerUpdateInterval = 0.01
motionActivityManager.startActivityUpdates(to: .main) { (activity) in
guard let activity = activity else {
return
}
if activity.walking {
self.rightBarButton.title = "?"
}
else if activity.running {
self.rightBarButton.title = "?"
}
else if activity.cycling {
self.rightBarButton.title = "?"
}
else if activity.automotive {
self.rightBarButton.title = "?"
}
else {
self.rightBarButton.title = "not moving"
}
}
}