加速度计吓坏了

时间:2017-08-22 19:26:06

标签: ios swift accelerometer

我正在测试我的应用程序,我本来是要从accelometer获取读数......非常简单!现在,代码说,如果加速度高于0.005,开始将1添加到一个值...但是由于某种原因,当我旋转ipad时,所以它似乎“站在其中一个边缘上”就像一个钻石,价值似乎在增加?即使ipad完全静止,它也会增加。 这是代码:

motionManager.accelerometerUpdateInterval = 0.02
motionManager.startAccelerometerUpdates(to: OperationQueue.current!) { (data,error) in
    if let myData = data {
        if myData.acceleration.y > 0.05 {      
            self.damian += 1
            print(data)
        }

1 个答案:

答案 0 :(得分:0)

我不确定,但根据文档看起来你似乎得到了引力+ userAcceleration。因此,在某些设备位置获取y轴的非零值非常正常。

  

设备的总加速度等于重力加上用户赋予设备的加速度(   userAcceleration   )。

要获得userAcceleration,您应致电startDeviceMotionUpdates(to:withHandler:) - https://developer.apple.com/documentation/coremotion/cmmotionmanager/1616048-startdevicemotionupdates