【发布时间】:2013-03-13 10:20:37
【问题描述】:
s在 iOS 弃用 UIAccelerometer 之前,我使用来自此类的 x、y 和 z 的数据来计算俯仰、滚动和偏航。我还必须进行一些过滤,但现在我看到使用CoreMotion 库我可以从CMAttitude class 获取这些数据并且非常想使用这些属性,但不知何故我没有这样做。
现在,我所做的是实例化
CMMotionManager *motionManager;
CMDeviceMotion *deviceMotion;
CMAttitude *attitude;
...
deviceMotion = motionManager.deviceMotion;
attitude = deviceMotion.attitude;
motionManager.accelerometerUpdateInterval = 0.065; // 65ms
[motionManager startAccelerometerUpdates];
我能够从 motionManager.accelerometerData.acceleration.<x,y or z> 读取 x、y 和 z,但尝试从 attitude.<roll,pitch,yaw> 读取会得到 0。
NSLog(@"Roll: %f", attitude.roll); // = 0
我每 100 毫秒读取一次由连续计时器触发的方法中的值。
关于我缺少什么的任何想法?
【问题讨论】:
标签: objective-c accelerometer core-motion pitch cmmotionmanager