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 минут до времени начала.