Ответ 1
Это возможно - см. этот документ для многозадачности вообще и этот раздел руководства по программированию местоположения для "Получение" События местоположения в фоновом режиме". Разумеется, все эти разговоры касаются всех различных способов, которыми устройство iOS может получить ваше местоположение (триангуляция ячеек башни, наблюдение за сетью Wi-Fi в стиле Skyhook и GPS), а не эксклюзивный GPS.
Вкратце, прочитав эти документы: добавьте ключ UIBackgroundModes в свой info.plist, который является массивом, и поместите в него значение "location". Затем вы получите обновления CLLocationManager, даже если они находятся в фоновом режиме.
Однако, если вы хотите быть приятным с батареей, вам лучше использовать метод startMonitoringSignificantLocationChanges в CLLocationManager. Затем вы получаете подходящие значительные обновления местоположения, даже если они находятся в фоновом режиме, не будучи заполненными в фоновом приложении. В других частях документации указано, что значительным изменением является любое изменение с одной башни ячейки на другую.