【问题标题】:CoreMotion - magneticField is always 0CoreMotion - 磁场始终为 0
【发布时间】:2012-03-22 08:19:49
【问题描述】:

我正在尝试使用磁力计:

[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;
}];

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

我错过了什么?

【问题讨论】:

  • 以防万一尝试Teslameter示例代码。
  • @rokjarc Teslameter 使用核心位置而不是核心运动。
  • @oops,抱歉。很高兴看到你解决了这个问题。 :)

标签: iphone objective-c ios core-motion


【解决方案1】:

试试

startDeviceMotionUpdatesUsingReferenceFrame:toQueue:withHandler:

它应该可以工作

【讨论】:

  • 问题这么简单,我简直不敢相信。谢谢!
猜你喜欢
  • 2015-08-30
  • 2023-03-10
  • 2014-01-09
  • 1970-01-01
  • 2011-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多