我正在使用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测试相同的应用程序,效果很好。
所以问题出在设备而不是框架上。

10-08 01:56