EKAlarm不会在iOS 5中设置

时间:2011-10-12 19:51:25

标签: objective-c ios cocoa-touch ios5 eventkit

我编写了以下代码段来创建一个事件。设置闹钟在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 个答案:

答案 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分钟添加提醒。