My experience is that the compass is not very good, especially in landscape view. I would NOT subtract 12° in one view since the difference might something else on another device. I suggest that you test on one or two other iPhones before proceeding.
Also, are you setting the view of the LocationManager?
CLLocationManager *compassManager;
compassManager.headingOrientation =CLDeviceOrientationLandscapeLeft;