Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 从cocoa应用程序向iCal添加事件_Objective C_Cocoa - Fatal编程技术网

Objective c 从cocoa应用程序向iCal添加事件

Objective c 从cocoa应用程序向iCal添加事件,objective-c,cocoa,Objective C,Cocoa,是否可以从我的cocoa应用程序向iCal添加事件?我尝试使用CalCalendarEvent,但它没有给我的日历添加任何内容 CalCalendarStore *calStore = [CalCalendarStore defaultCalendarStore]; CalEvent *event = [CalEvent event]; CalRecurrenceRule *recRule = [[CalRecurrenceRule alloc] initYearlyRecurrenceWit

是否可以从我的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];

谢谢。

我想你少了一个
CalCalCalendar
对象。
最小的
CalEvent
如下所示:

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

您还可以检查
saveEvent
的N错误。

更新:正如迈克·阿卜杜拉(Mike Abdullah)在评论中指出的那样,N错误应该是。

我认为您缺少了一个
CalCalCalCalendar
对象。
最小的
CalEvent
如下所示:

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

您还可以检查
saveEvent
的N错误。

更新:正如迈克·阿卜杜拉(Mike Abdullah)在他的评论中指出的那样,N错误应该是。

无论何时,只要有什么事情似乎没有做,您应该做的第一件事就是修复任何被抑制的错误返回(即,
错误:NULL
),然后检查错误()。胜于偶数
saveEvent:span:error:
试图告诉你做错了什么,但你已经用胶带封住了它的嘴。更妙的是,不要一开始就抑制错误返回。每当有什么事情似乎什么也没做时,您应该做的第一件事就是修复任何抑制的错误返回(即,
error:NULL
),然后检查错误()。胜于偶数
saveEvent:span:error:
试图告诉你做错了什么,但你已经用胶带封住了它的嘴。更好的是,不要一开始就抑制错误返回。像以前一样,不要先检查错误对象。检查方法是否返回了
NO
,然后查看错误对象。一如既往,不要先检查错误对象。检查该方法是否返回了
NO
,然后查看错误对象。