В итоге я получил приложение для запуска / остановки диспетчера местоположения каждые 15 минут на executeSelector: WithDelay.
Обычно, когда CLLocationManager давал показания с требуемой точностью, я понижал CLLocation для значительных изменений, затем через 15 минут настраивал приложение на повторное считывание, менял точность на одну из самых высоких настроек и повторял.
Надеюсь, это поможет любому в будущем.
Спасибо
Джеймс