我看到我可以从设备中检索CMAttitude,从中我可以读取我需要的3个值(俯仰,滚动和偏航)。据我了解,这个CMAttitude对象由CoreMotion管理,CoreMotion是一个传感器融合管理器,用于计算罗盘,陀螺仪和加速度计的正确结果(在Android上它是SensorManager类)。
所以我的问题是:
iOS 5.0简化了此任务。 CMMotion经理有新方法:
- (void)startDeviceMotionUpdatesUsingReferenceFrame:(CMAttitudeReferenceFrame)referenceFrame
作为参考框架,您可以使用以下值:
如果你想用旧的iOS做这个,我担心你必须自己使用当前的用户位置进行校准。
尝试结帐此资源:
3.如果设备没有陀螺仪,CMMotionManger的deviceMotionAvailable属性将为“NO”(它相当于gyroAvailable属性),并且您无法使用设备运动获得态度。您唯一能做的就是直接读取加速度计和磁力计数据。