CoreMotion – magnetField始终为0

我正在尝试使用磁力计:

[myMotionMngr startDeviceMotionUpdatesToQueue: [NSOperationQueue currentQueue] withHandler:^(CMDeviceMotion *motion, NSError *error) { printf("%f\t%f\t%f\n", motion.magneticField.field.x, motion.magneticField.field.y, motion.magneticField.field.z); CMMagneticFieldCalibrationAccuracy acc = motion.magneticField.accuracy; }]; 

并且motion.magneticField.accuracy (x,y,z)始终为0. motion.magneticField.accuracy始终是CMMagneticFieldCalibrationAccuracyUncalibrated 。 根据文档,这意味着我的设备没有磁力计,但这不是真的,因为我正在使用iOS 5.0在iPad2上进行测试。

我错过了什么?

尝试

startDeviceMotionUpdatesUsingReferenceFrame:toQueue:withHandler:

它应该工作