iPod Touch 4G上的指南针磁力计

我明白从iPod Touch 4G上的CoreLocation框架中读取磁性读数是不可能的,但是可以使用CoreMotion框架来生成磁力读数。

我也明白,我需要使用CMMotionManager并设置deviceMotionUpdateInterval来实现这一点。 然后,我可以使用- (void)startMagnetometerUpdates- (void)stopMagnetometerUpdates来启动和停止更新。

现在,我有我的原始磁力仪数据(x,y,z),我怎样才能使用它来实现磁场的方向?

我已经看到一些相当复杂的在线解释,但会喜欢例如代码。

编辑:我的错误,这是不可能得到的iPod Touch 4G的磁力计读数。

iPod touch没有磁力计(请参阅apple-devices-with-magnetometer ),所以无论您称之为磁力计数据,都不能是磁力计数据。

另外从CMMotionManager类参考 (我的重点)

CMMotionManager对象是iOS提供的运动服务的入口。 这些服务为应用程序提供加速度计数据,旋转速率数据,磁力计数据以及其他设备运动数据(如态度)。 这些types的数据源于设备的加速度计和(在某些型号上)其磁力计和陀螺仪。

所以你将无法产生磁性标题。

您所看到的是来自iPod touch所具有的其他传感器的运动数据。