我试图用我的应用程序设置导入到iphone日历中的事件的可用性。我使用这段代码:
[event1 setAvailability:EKEventAvailabilityFree];
当我将iphone与iCal同步时,我会检查事件的可用性,并显示“忙碌”。 Xcode确实要求一个整数,但是free选项没有。我运行此代码时没有错误,有人可以帮助弄清楚什么是错误的。
答案 0 :(得分:9)
问题可能是事件的日历尚未设置。未设置日历时,事件不知道设置可用性是否有效(并非所有日历都支持可用性)。
尝试以下方法:
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.title = subject;
event.calendar = [eventStore defaultCalendarForNewEvents];
if (event.availability != EKEventAvailabilityNotSupported) {
event.availability = EKEventAvailabilityFree;
}
答案 1 :(得分:3)
在David Hunt's answer之后,您需要在之前设置日历,以便在代码中设置可用性。顺序很重要。
E.g。
event.calendar = //calendar object
event.availability = //availability typedef
答案 2 :(得分:0)
您是否将活动保存回包含它的活动商店?请参阅EKEventStore class reference中的saveEvent:span:error:
消息。