Swift Region Monitoring Локальный триггер уведомления

Я делаю приложение для запуска локального уведомления при вводе региона. Тем не менее, иногда, когда телефон заблокирован, уведомления не появлялись, даже если я был в области некоторое время. Всплывающее уведомление будет отображаться только при нажатии кнопки питания / дома (телефон все еще находится в заблокированном режиме).

В общем, кажется, что все работает, за исключением того, что иногда уведомление будет отображаться только при нажатии кнопки питания / дома, чтобы разбудить телефон, хотя он все еще заблокирован.

Надеюсь, кто-то может просветить меня, пожалуйста! знак равно

1 ответ

Согласно документации разработчика. В базовой структуре местоположения две службы могут предоставить вам информацию о текущем местоположении.

  1. Стандартная служба определения местоположения - это настраиваемое универсальное решение для получения данных о местоположении и отслеживания изменений местоположения с заданным уровнем точности.

  2. Служба определения местоположения с существенными изменениями доставляет обновления только тогда, когда произошло существенное изменение местоположения устройства, например, 500 метров или более.

Вам необходимо использовать стандартные службы определения местоположения, чтобы отслеживать местоположение в фоновом режиме.

Если ваше приложение iOS должно сохранять местоположение, даже когда оно находится в фоновом режиме, используйте стандартную службу определения местоположения и укажите значение местоположения ключа UIBackgroundModes, чтобы продолжить работу в фоновом режиме и получать обновления местоположения. (В этой ситуации вам также следует убедиться, что для свойства pausesLocationUpdatesAutomatics менеджера расположений задано значение YES, что помогает экономить электроэнергию.)

Другие вопросы по тегам