I have two ways of getting the magnetic fields (strength, x, y, and z) using the iOS device\'s magnetometer.
1) Core Location Used the CLHeading from CLL
CLL
I think the magnetometerData.magneticField it telling you the acceleration, not the position (hence why you get large values moving from still to moving) whereas the location manager provides data on the direction the device is pointing in.