我正在测试我的应用程序,我本来是要从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)
}
答案 0 :(得分:0)
我不确定,但根据文档看起来你似乎得到了引力+ userAcceleration。因此,在某些设备位置获取y轴的非零值非常正常。
设备的总加速度等于重力加上用户赋予设备的加速度( userAcceleration )。
要获得userAcceleration
,您应致电startDeviceMotionUpdates(to:withHandler:)
- https://developer.apple.com/documentation/coremotion/cmmotionmanager/1616048-startdevicemotionupdates