Плагин Flutter_beacon не работает в фоновом режиме для IOS - PullRequest
0 голосов
/ 07 апреля 2020

Есть ли обходной путь, чтобы MainActivity / App оставался в фоновом режиме в IOS.

Поскольку я использую 2 разных плагина для одновременного сканирования и трансляции.

вот мой код сканирования: Я использую FLUTTER_BEACON плагин

_streamRanging =
        flutterBeacon.ranging(regions).listen((RangingResult result) {
      print(result);
      if (result != null && mounted) {
        setState(() {
          _regionBeacons[result.region] = result.beacons;
          _beacons.clear();
          _regionBeacons.values.forEach((list) {
            _beacons.addAll(list);
          });
          _beacons.sort(_compareParameters);
        });
      }
    });

1 Ответ

0 голосов
/ 07 апреля 2020

Хотя этот вопрос касается конкретно Flutter, iOS применяет определенные правила для фонового использования приложения независимо от его построения:

  1. Когда приложение iOS не отображается на на экране, он считается фоновым.
  2. В фоновом режиме ранжирование маяков в приложении блокируется, если:

    a. Приложение настраивает фоновый процесс (который включает ТОЛЬКО 30 секунд ранжирования на iOS 13+ каждый раз, когда приложение переводится в фоновый режим). Подробнее здесь

    b. Устанавливает фоновый процесс, объявляет фоновый режим «местоположение» и запрашивает периодические c обновления местоположения. Это разблокирует неограниченный диапазон фона, но может сделать невозможным получение одобрения для магазина приложений, если вы не сможете оправдать очевидное преимущество определения местоположения фона для пользователя.

    c. В качестве альтернативы (b), если приложение выполняет мониторинг маяка, если вход или выход области мониторинга маяка может периодически запускаться, оно разблокирует дополнительные 30 секунд диапазона фона, как описано в (а). Это возможно сделать, если вы можете развернуть чередующийся маяк в том месте, где используется приложение.

Обходные пути, описанные в (2), одинаковы независимо от того, используете вы Flutter или нет. Особенности реализации фоновой задачи в Flutter, безусловно, различаются.

Редактировать 4/11/2020: Apple объявила о планах относительно новой рекламы маяка, которая будет работать в фоновом режиме. См. здесь для получения дополнительной информации.

...