我有一个应用程序,它检测用户驾驶并在内部执行一些过程。从iOS-10到iOS-11的iOS更新后,应用程序停止工作。该应用程序仍然在iOS 10中运行良好,但在iOS 11中失败。
调试后我发现CMMotionActivityManager有问题。即使用户实际驾驶,大多数时候汽车活动的信心也很低(0)。
由于这个我无法确定用户的完整驾驶行为。
这是我正在使用的示例代码。
if CMMotionActivityManager.isActivityAvailable() {
motion.startActivityUpdates(to: OperationQueue.current!, withHandler: {
activityData
in
self.handleActivityData(activityData!)
})
}
func handleActivityData(_ activityData: CMMotionActivity) {
let rawConfidence = activityData.confidence.rawValue
// Confidence = 2 -> high
// Confidence = 0 -> low
if rawConfidence > 0 {
if activityData.automotive {
drivingActivity = true
Log.info("Activity : Automotive")
} else {
drivingActivity = false
var text = "Empty"
if activityData.walking {
text = "Walking"
} else if activityData.running {
text = "Running"
} else if activityData.stationary {
text = "Stationary"
} else if activityData.cycling {
text = "Cycling"
} else if activityData.unknown {
text = "Unknown"
}
}
}
}
有人面临同样的问题吗?
任何帮助表示赞赏。