Я бы использовал местоположение MapKit при работе с картой.
Подпрограммы карты предназначены для использования при работе с картой;в то время как подпрограммы CoreLocation предназначены для использования независимо от карты.MapKit будет сообщать об изменениях местоположения, которые влияют на карту (didUpdateUserLocation вызывается, если showUserLocation имеет значение YES или режим отслеживания - MKUserTrackingModeFollowWithHeading).Службы CoreLocation способны сообщать об изменениях, когда приложение находится в фоновом режиме.
Суть в том, что вы должны использовать опцию, которая подходит для того, что вы делаете.В моем приложении я использую оба сервиса: MapKit, когда карта отображается, и CoreLocation, когда карта не отображается или приложение является фоновым.
Анекдотически, начиная с выпуска iOS 5, симулятор поддерживает рядвариантов расположения;посмотрите в меню «Отладка» для приложения-симулятора, я также описал некоторые из этих опций на https://stackoverflow.com/a/8175468/338468.