Swift Region Monitoring Локальный триггер уведомления
Я делаю приложение для запуска локального уведомления при вводе региона. Тем не менее, иногда, когда телефон заблокирован, уведомления не появлялись, даже если я был в области некоторое время. Всплывающее уведомление будет отображаться только при нажатии кнопки питания / дома (телефон все еще находится в заблокированном режиме).
В общем, кажется, что все работает, за исключением того, что иногда уведомление будет отображаться только при нажатии кнопки питания / дома, чтобы разбудить телефон, хотя он все еще заблокирован.
Надеюсь, кто-то может просветить меня, пожалуйста! знак равно
1 ответ
Согласно документации разработчика. В базовой структуре местоположения две службы могут предоставить вам информацию о текущем местоположении.
Стандартная служба определения местоположения - это настраиваемое универсальное решение для получения данных о местоположении и отслеживания изменений местоположения с заданным уровнем точности.
Служба определения местоположения с существенными изменениями доставляет обновления только тогда, когда произошло существенное изменение местоположения устройства, например, 500 метров или более.
Вам необходимо использовать стандартные службы определения местоположения, чтобы отслеживать местоположение в фоновом режиме.
Если ваше приложение iOS должно сохранять местоположение, даже когда оно находится в фоновом режиме, используйте стандартную службу определения местоположения и укажите значение местоположения ключа UIBackgroundModes, чтобы продолжить работу в фоновом режиме и получать обновления местоположения. (В этой ситуации вам также следует убедиться, что для свойства pausesLocationUpdatesAutomatics менеджера расположений задано значение YES, что помогает экономить электроэнергию.)