gpt4 book ai didi

iphone - CMCalibrateMagneticField 不更新

转载 作者:行者123 更新时间:2023-12-03 20:51:48 27 4
gpt4 key购买 nike

CMCalibrateMagneticField 始终返回 0

CMAcceleration 返回值,CMMagnetometerData 也返回值。只有 CMCalibrateMagneticField 不需要,我需要它,因为它是没有偏置的磁场。

我正在 iPhone 4S 上进行测试。

[MotionManager startDeviceMotionUpdatesToQueue:deviceQueue
withHandler:^(CMDeviceMotion *motion, NSError *error) {
CMCalibratedMagneticField f = motion.magneticField;

//CMMagneticField t = motion.;
//CMAcceleration s = motion.gravity; Works!
//_xlabelnew.text = [NSString stringWithFormat:@"%f", s.x];

_xlabelnew.text = [NSString stringWithFormat:@"%f", f.field.x];
_ylabelnew.text = [NSString stringWithFormat:@"%f", f.field.y];
_zlabelnew.text = [NSString stringWithFormat:@"%f", f.field.z];

//_totallabelnew.text = [NSString stringWithFormat:@"%f", sqrt(f.field.x*f.field.x + f.field.y*f.field.y + f.field.z*f.field.z)];

}];

最佳答案

您检查过磁力计的精度吗?我的猜测是你的 Motion.MagneticField.accuracy 值将为 -1 (未校准)。不幸的是我不知道这是为什么。我的 iPhone 4 也遇到同样的情况,尽管磁力计工作得很好。

我唯一能想到的是,手机在出厂前从未进行过校准,但这对我的 4 来说比对你的 4S 更有意义。校准现场功能是 iOS 5.0 的新增功能,该功能于 2011 年 10 月公开发布,而 iPhone 4 则在一年多前发布。但是您的手机与 5.0 一起推出,因此人们会认为正在发布的硬件与其支持的软件功能相匹配。再说一遍,只是猜测。抱歉我无法提供更多帮助。希望您能找到真正的答案。我只是打算自己校准磁力计。

飞思卡尔提供了一个免费工具来执行此操作。该软件(以及一些有用的文档)可在此处获取。您可能需要创建一个免费帐户才能下载它,但我不记得了。

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=eCompass

更新:我拿到了 iPhone 5,CMCalibrateMagneticField 工作得很好。

关于iphone - CMCalibrateMagneticField 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13282902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com