2015-12-07 3 views
0

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

notification.repeatInterval = NSCalendarUnit.NSDayCalendarUnit 

но некоторый метод требуется пропустить уведомление для наших дней, если какое-либо условие было выполнено. Если удалять эти уведомления из Центра уведомлений, они не будут срабатывать на следующий день.

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

Есть идеи?

ответ

0

К сожалению, единственный способ разбудить ваше приложение в определенное время - через silent APNS push. Это означает, что вам нужен сервер, который будет отправлять тихие нажатия на ваше устройство, пользователю нужен интернет, и пользователь должен отказаться от push.

Может быть, background fetch будет работать именно с вами? С помощью Background Fetch ваше приложение разбуждается каждый минимальный интервал. Вы можете настроить приложение на пробуждение каждые x минут и проверить это условие.

[application setMinimumBackgroundFetchInterval:100]; //seconds 

Пожалуйста, нужно учитывать, что:

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

+0

Я нашел этот код в учебнике:. UIApplication.sharedApplication() setMinimumBackgroundFetchInterval ( UIApplicationBackgroundFetchIntervalMinimum) , как я понимаю, этот метод не гарантирует даже один принести работу в день, и мне нужно, по крайней мере, один. Или я пропустил что-то? – Anton

+0

Это ничего не гарантирует. Единственный способ узнать, как работает ОС с фоновой выборкой, - проверить ее самостоятельно или найти статью об этом. –

Смежные вопросы