У меня есть приложение, которое запускается в фоновом режиме, и так как iOS 13 получает около 30 секунд фонового времени выполнения, используя beginBackgroundTask (expirationHandler) . Я пытаюсь получить данные из внешнего сервиса, для расчета которого требуется около 40 секунд, поэтому мне нужно расширить фоновую выборку и установить DispatchQueue на 40-60 секунд позже или напрямую вызвать функцию в фоновом режиме 60 секунд позже.
Я посмотрел вверх Фоновая выборка , но я не думаю, что это адекватно, поскольку он извлекал данные вечно (и на больших временных интервалах), в то время как он мне нужен только через 1 минуту после завершения фоновых вычислений .
Я также посмотрел похожие посты, в которых устаревшее изречение iOS может справиться с заданием в течение 3 или 10 минут, как это было до iOS 13 и iOS 7
. Для контекста, приложение получает пакет BLE в фоновом режиме, выполняя фоновую задачу приложения в течение приблизительно 30 секунд, и отправляет полученные данные на сервер, который выполняет определенные вычисления, обновляя метод GET http, который дает приложению его окончательные результаты
Разъяснение: у меня нет доступа или я могу изменить сервер.
Если нет способа, есть ли у схожих способов сделать то же самое?
Спасибо.