Вы неправильно понимаете, что такое фоновая выборка.У разработчиков нет мощности , когда фоновая выборка будет выполнена точно.iOS сама решает, когда разрешить приложению выполнять фоновую выборку.
Функция setMinimumBackgroundFetchInterval
позволяет указывать только минимальный временной интервал, который должен проходить между фоновыми выборками, чтобы минимизироватьиспользование энергии и данных вашего приложения.Однако установленный здесь интервал вовсе не гарантирует, что ваше приложение сможет выполнять это в фоновом режиме.Ключевое предложение в документации относительно этого: "Получить содержимое условно на заднем плане ..." .
На данный моментЕдинственный способ гарантировать, что ваше приложение может выполнять определенные функции (в том числе извлекать данные с сервера) в фоновом режиме, - отправлять молчащие push-уведомления с вашего собственного сервера через регулярные промежутки времени.Однако даже в этом случае система может решить не будить ваше приложение в ответ на тихое push-уведомление, если вашему приложению требуется много времени, чтобы завершить выполнение в ответ на push-уведомление или если ваше приложение получает слишком много уведомлений.