我编写了以下代码段来创建一个事件。设置闹钟在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];
// .......
答案 0 :(得分:3)
我遇到了同样的错误。
问题似乎 startDate 与 endDate 不一样......真是愚蠢的iOS更改!
答案 1 :(得分:1)
这似乎与此票证中发生的情况有关:EventKit - App freezes when adding an EKEvent with 2 alarms (iOS 5)。
如果您查看iOS 4.3文档中iOS 5更改中的EventKit部分,则会提到某些项目已弃用EKEvent。层次结构已更改,并添加了一个新的抽象超类:EKCalendarItem。
答案 2 :(得分:0)
避免操纵警报数组。您需要将警报添加到您的事件中,如下所示:
EKAlarm *reminder = [EKAlarm alarmWithRelativeOffset:-300];
[event addAlarm:reminder];
这将在开始时间前5分钟添加提醒。