I use Core Motion\'s sensor fusing to get north oriented motion updates:
[motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameX
102 is CMErrorTrueNorthNotAvailable. I guess that your device has problems with determining north direction or something.