检测碰撞运动

Detecting bump motion

我正在尝试检测 iPhone 的整个左侧何时被碰撞。这是我目前拥有的:

let manager = CMMotionManager()

override func viewDidLoad() {
    super.viewDidLoad()

    if manager.deviceMotionAvailable {
        manager.deviceMotionUpdateInterval = 0.02
        manager.startDeviceMotionUpdatesToQueue(NSOperationQueue.mainQueue()) {
            [weak self] (data: CMDeviceMotion!, error: NSError!) in
            if data.userAcceleration.x > 2 {
                // Perform action
            }
        }
    }
}

只要我碰到 phone 的左上角,上面的代码就可以工作。但是,如果我尝试将整个 phone 直接撞到左边的一条直线上,它很少奏效。我在这里遗漏了什么吗?

谢谢!

if data.userAcceleration.x > 2 {
            // Perform action
        }

做 2,比如 1.5 或更小,因为 2 需要非常快的加速度。