Хотя этот вопрос касается конкретно Flutter, iOS применяет определенные правила для фонового использования приложения независимо от его построения:
- Когда приложение iOS не отображается на на экране, он считается фоновым.
В фоновом режиме ранжирование маяков в приложении блокируется, если:
a. Приложение настраивает фоновый процесс (который включает ТОЛЬКО 30 секунд ранжирования на iOS 13+ каждый раз, когда приложение переводится в фоновый режим). Подробнее здесь
b. Устанавливает фоновый процесс, объявляет фоновый режим «местоположение» и запрашивает периодические c обновления местоположения. Это разблокирует неограниченный диапазон фона, но может сделать невозможным получение одобрения для магазина приложений, если вы не сможете оправдать очевидное преимущество определения местоположения фона для пользователя.
c. В качестве альтернативы (b), если приложение выполняет мониторинг маяка, если вход или выход области мониторинга маяка может периодически запускаться, оно разблокирует дополнительные 30 секунд диапазона фона, как описано в (а). Это возможно сделать, если вы можете развернуть чередующийся маяк в том месте, где используется приложение.
Обходные пути, описанные в (2), одинаковы независимо от того, используете вы Flutter или нет. Особенности реализации фоновой задачи в Flutter, безусловно, различаются.
Редактировать 4/11/2020: Apple объявила о планах относительно новой рекламы маяка, которая будет работать в фоновом режиме. См. здесь для получения дополнительной информации.