我正在使用Core Motion框架检测设备 Activity 。
即步行,跑步,汽车,固定式
主要问题是我能够高精度地检测步行和跑步,但我的设备无法检测汽车模式。
这是我的代码
var motionActivityManager: CMMotionActivityManager?
if CMMotionActivityManager.isActivityAvailable() {
motionActivityManager?.startActivityUpdatesToQueue(NSOperationQueue.currentQueue()!, withHandler: {
activityData
in
if activityData!.walking == true {
self.lblActivityStatus?.text = "Walking"
} else if activityData!.running == true {
self.lblActivityStatus?.text = "Running"
} else if activityData!.automotive == true {
self.lblActivityStatus?.text = "Automotive"
} else if activityData!.stationary == true {
self.lblActivityStatus?.text = "Stationary"
}
print("Activity Data: ", activityData)
})
}
最佳答案
通过在多个设备上测试同一应用程序,我终于得到了答案。
在特别是“汽车”模式下,第一代设备上的m7芯片无法正常工作。
当我在5s和ipad air上进行测试时,它没有检测到应该检测到的“汽车”模式。但是使用iphone 6 Plus测试相同的应用程序,效果很好。
所以问题出在设备而不是框架上。