метод правильный. Вы можете выбрать между магнитным и истинным курсом.
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading{
float compassHeading_True = newHeading.trueHeading;
float compassHeading_Magnetic = newHeading.magneticHeading;
}
Если вы хотите разрешить калибровку компаса, вы должны реализовать этот метод:
- (BOOL)locationManagerShouldDisplayHeadingCalibration:(CLLocationManager *)manager{
return YES;}