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