我有两种使用iOS设备的磁力仪获取磁场(强度,x,y和z)的方法。 1)核心位置 使用CLLocationManagerDelegate方法的locationManager:didUpdateHeading:方法locationManager:didUpdateHeading: 这与Apple的Teslameter示例应用程序类似。 2)核心运动 使用CMMagneticField的magnetometerData.magneticField CMMotionManager 。 问题: a)两者有什么区别? 我从两个不同的价值。 我期待他们会返回相同的值。 当我从rest位置开始应用程序(面朝上在桌子上)时,差异最为显着,然后将设备提升到空中。 b)如果有差异,我应该在什么时候使用核心位置标题中的磁场,什么时候应该使用Core Motion的磁场? 注意:我也不确定Core Location和Core Motion的“磁场”是指不同的磁场概念。 注:我计算强度为两个方法的(x ^ 2 + y ^ 2 + z ^ 2)的平方根。