Вам просто нужно реализовать функции диспетчера местоположения, чтобы найти точное направление, в котором указывает ваш iPhone.
Итак, Вы можете проверить это:
CLLocationManager *locationManager;
[locationManager startUpdatingHeading];
И всякий раз, когда вы вызываете startUpdatingHeading (), он будет вызывать
Метод "- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
", который необходимо переопределить в диспетчере местоположений.
И это все, что вы можете найти в каком направлении iPhone 3GS указывает, используя newHeading.magnHeading или newHeading.trueHeading.
Вы удивитесь, что вы можете получить точно такое же направление, которое дает вам магнитный компас.