从cocoa app向iCal添加事件

时间:2010-01-09 10:55:26

标签: objective-c cocoa

是否可以从我的cocoa应用程序向iCal添加事件?我尝试使用CalCalendarEvent,但它没有在我的日历中添加任何内容。

CalCalendarStore *calStore = [CalCalendarStore defaultCalendarStore];
CalEvent *event = [CalEvent event];

CalRecurrenceRule *recRule = [[CalRecurrenceRule alloc] initYearlyRecurrenceWithInterval:1 end:[CalRecurrenceEnd recurrenceEndWithOccurrenceCount:5]];
[event setRecurrenceRule:recRule];
[event setStartDate:currentDate];
[event setEndDate:endDate];
event.isAllDay = YES;

[calStore saveEvent:event span:CalSpanThisEvent error:NULL];

感谢。

1 个答案:

答案 0 :(得分:4)

我认为你错过了一个CalCalendar对象 最小CalEvent看起来像:

CalEvent * event = [CalEvent event];  event.calendar = calendar; //这很重要 - 否则该事件不会出现在iCal中  event.title = title;  event.startDate = startDate;  event.endDate = endDate;

您还可以检查saveEvent的NSError 更新:正如Mike Abdullah在评论中指出的那样,NSError应为handled with care