Выполнить код, когда приложение в фоновом режиме и локальное уведомление срабатывает - PullRequest
0 голосов
/ 15 мая 2018

Здесь очень сложная ситуация: я пишу приложение для будильника в быстром темпе.В момент срабатывания будильника приложение, скорее всего, будет в фоновом режиме или убито, или, что еще хуже, iPhone заблокирован.Как только сработает будильник, приложение должно автоматически установить другое уведомление, находясь в фоновом режиме.Я могу сделать это в AppDelegate только в том случае, если приложение находится на переднем плане, но на заднем плане я могу установить уведомление только с хорошим вложением и звуком, но код не выполняется.Я не могу вызвать метод после локального уведомления в фоновом режиме с заблокированным устройством.Помощь будет очень ценится.Я не уверен, что есть решение.Большое спасибо.

1 Ответ

0 голосов
/ 16 мая 2018

Чтение didReceiveRemoteNotification говорит, что этот метод вызывается, если ваше приложение работает на переднем или заднем плане.Кроме того, если вы включили фоновый режим удаленных уведомлений, система запускает ваше приложение (или выводит его из приостановленного состояния) и переводит его в фоновое состояние при поступлении удаленного уведомления.Однако система не запускает ваше приложение автоматически, если пользователь принудительно завершил его.В этой ситуации пользователь должен перезапустить ваше приложение или перезапустить устройство, прежде чем система попытается снова запустить ваше приложение автоматически.

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

Прочитайте статью Apple Background Execution , особенно раздел Понимание того, когда ваше приложение запускается вФон .Где говорится, что фоновое выполнение - это когда

Для приложения приходит push-уведомление, и полезная нагрузка уведомления содержит доступный ключ со значением 1.

Вы можете сделать здесь или сделать то, что вы хотите, здесь.

...