Reputation: 700
We implemented motion detection on our application. Need to detect driving activity. We added below code for activity detection.
public func startMotionTracking() {
var motion = MotionMode.unknown.rawValue;
if CMMotionActivityManager.isActivityAvailable() {
motionManager.startActivityUpdates(to: OperationQueue.main) { (activity) in
guard let activity = activity else {
return
}
if activity.walking {
motion = MotionMode.walking.rawValue
}
else if activity.running {
motion = MotionMode.running.rawValue
}
else if activity.cycling {
motion = MotionMode.cycling.rawValue
}
else if activity.automotive {
motion = MotionMode.automotive.rawValue
}
else if activity.stationary {
motion = MotionMode.stationary.rawValue
}
else if activity.unknown {
motion = MotionMode.unknown.rawValue
}
self.delegate?.currentMotionMode(currentMotion: motion)
}
}
}
While Driving via bike, it still gives walking activity Instead of automotive. I'm testing with iPhone SE(2nd Gen), 16.6 version. Please give some suggestion to solve this issue. Thanks in Advance.
Upvotes: 3
Views: 117