Ваше приложение должно поддерживать фоновые задачи для возможности запуска в фоновом режиме.
Я полагаю, что на этот вопрос ответили несколько раз.Вот ссылка на документацию
Поскольку вы используете местоположение, я рекомендую вам использовать UIBackgroundModes в качестве местоположений. Но будьте уверены, что вы не разряжаете батарею пользователей.
Также использование фоновой выборки (UIBackgroundModes - fetch) и тихого оповещения может быть отличным способом запустить ваше приложение через равный интервал времени.
Обновление
Для выполнения операций вы можете использовать автоматическое уведомление - см. Эту яблочную документацию
Согласно документации - система разбудит ваше приложение в фоновом режиме и вызовет application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
Обновление 2
Информацию о локальных уведомлениях и планировании пользовательских действий см. В этой документации Apple .Но я действительно сомневаюсь, что это поможет вам достичь желаемого результата.Главным образом потому, что ваше приложение получит событие только тогда, когда пользователь выполнит какое-либо действие с вашим локальным уведомлением, и если он его проигнорирует, ваше приложение останется в фоновом режиме.