EKAlarm не будет установлен в iOS 5

Я написал следующий фрагмент, чтобы создать событие. Настройка будильника работает нормально в iOS 4, но в iOS 5 не устанавливается. Это ошибка или я что-то упустил?

EKCalendar *cal = [self.eventStore defaultCalendarForNewEvents];
EKEvent *event = [EKEvent eventWithEventStore:self.eventStore];
event.calendar = cal;
// .......
EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:-3600];
event.alarms = [NSArray arrayWithObject:alarm];
// .......

3 ответа

У меня была такая же ошибка.

Кажется, проблема в том, что startDate не должен совпадать с endDate... действительно глупое изменение iOS!

Похоже, это связано с тем, что происходит в этом билете: EventKit - приложение зависает при добавлении EKEvent с 2 сигналами тревоги (iOS 5).

Если вы посмотрите на раздел EventKit в iOS 5, отличающийся от документа iOS 4.3, он упоминает, что некоторые элементы устарели для EKEvent. Иерархия изменилась, и был добавлен новый абстрактный суперкласс: EKCalendarItem.

Избегайте манипулирования массивом сигналов тревоги. Вам нужно добавить будильник к вашему событию следующим образом:

EKAlarm *reminder = [EKAlarm alarmWithRelativeOffset:-300];
[event addAlarm:reminder];

Это добавит напоминание за 5 минут до времени начала.

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