UILocalNotification — повторять каждые 2 недели

Как я могу иметь интервал повторения, который повторяется каждые 2 недели?

Pocket Lists использует UILocalNotifications, и они его реализовали. как-то.


person Peter Warbo    schedule 14.08.2012    source источник
comment
Почему бы просто не планировать в пакетах?   -  person Paul.s    schedule 14.08.2012
comment
@Paul.s Хотите уточнить? :)   -  person Peter Warbo    schedule 14.08.2012
comment
Запланируйте события на обозримое будущее, а затем, если пользователь решит изменить частоту, вы можете отменить их и запланировать новую партию.   -  person Paul.s    schedule 14.08.2012
comment
@Paul.s а, вы в основном согласны с тем, что пользователь 1567896 ответил ниже?   -  person Peter Warbo    schedule 14.08.2012
comment
Да, похоже, что так, по какой причине вам не нравится это решение? Если нет, отметьте ответ как правильный   -  person Paul.s    schedule 14.08.2012
comment
@Paul.s просто пытается получить как можно больше информации :) Таким образом, для сценария повторения каждые 2 недели мне, вероятно, потребуется запланировать 3 уведомления (которые будут покрыты 6 недель, если пользователь не будет использовать мое приложение в течение этого времени). Затем, если мои расчеты верны, я могу запланировать в общей сложности 21 (21 * 3 = 63) уведомления этого типа, прежде чем получить максимум 64 локальных уведомления. Этот предел немного смущает. Мне интересно, как Pocket Lists позаботился об этом, поскольку это приложение может иметь более 30 уведомлений, которые повторяются каждые 2 недели.   -  person Peter Warbo    schedule 14.08.2012
comment
Если два события происходят в один и тот же день, вы, безусловно, можете запланировать их как одно событие и сэкономить на расписании, если пользователь не открывал ваше приложение в этот период времени, и вы уведомляли их, то они, вероятно, не в том, что в ваше приложение.   -  person Paul.s    schedule 14.08.2012


Ответы (1)


Вы не можете сделать это с RepeatInterval.

Что вы можете сделать, это:

Обработайте локальное уведомление, когда оно отправлено, и просто добавьте новое локальное уведомление, которое будет запущено через две недели.

person user1567896    schedule 14.08.2012
comment
Но если пользователь не откроет приложение до 4-й недели, уведомление не сработает на 4-й неделе. Таким образом, это решение зависит от того, что ваш пользователь откроет ваше приложение в течение 4 недель. - person Peter Warbo; 14.08.2012
comment
Для этого вы можете добавить уведомления несколько раз (на несколько месяцев). Когда ваше приложение запущено, вы можете удалить все уведомления и добавить их снова, чтобы сохранить их. - person user1567896; 14.08.2012