EKAlarm不会在iOS 5中设置
我写了下面的代码创build一个事件。 设置闹钟在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]; // .......
我有同样的错误。
问题似乎startDate不应该像endDate一样 …真的很愚蠢的iOS更改!
这似乎与此故障单中发生的事件有关: EventKit – 在添加具有两个警报(iOS 5)的EKEvent时,应用程序冻结 。
如果您查看iOS 4.3文档中的iOS 5更改中的EventKit部分,则会提到EKEvent中的某些项目已被弃用。 层次已经改变,并添加了一个新的抽象超类: EKCalendarItem 。
避免操纵警报数组。 您需要将警报添加到您的活动中,如下所示:
EKAlarm *reminder = [EKAlarm alarmWithRelativeOffset:-300]; [event addAlarm:reminder];
这将在开始时间前5分钟添加提醒。