如何检测设备在平面上的运动

时间:2018-10-08 11:28:22

标签: ios iphone swift

我已经使用CoreMotion已有一段时间了,但是在检测设备的运动时遇到了问题。 我想要实现的是检测iPhone在平坦表面上的移动。我想知道它到底是向​​右还是向左移动。 想象一下鼠标和光标。我正在尝试实现相同的目的,我只想知道设备是向右移动还是向左移动。

我尝试在X轴上获取加速度计的数据,但是从理论上讲,这没有帮助,如果该值为正,则应向右移动;如果为负,则应向左移动。但这不是事实。

if let accData = self.motionManager.accelerometerData {
    if accData.acceleration.x > 0 {
        print("Right...")
    }else if accData.acceleration.x < 0 {
        print("Left.....")
    }
}

1 个答案:

答案 0 :(得分:0)

经过大量研究,似乎磁场是最好的选择 这是一个可能有用的链接CMDeviceMotion returns 0 values for magnetic field