用EventKit添加一个新的日历到EKEventStore

我如何添加日历(而不是事件)到iOS 5中的EKEventStore?

我发现一个例外,除非我也这么做:

// Get the calendar source EKSource* localSource; for (EKSource* source in eventStore.sources) { if (source.sourceType == EKSourceTypeLocal) { localSource = source; break; } } if (!localSource) return; calendar = [EKCalendar calendarWithEventStore:eventStore]; calendar.source = localSource; 

当然,看看其他EKSourceType枚举,看看哪一个适合您的需求。

 EKEventStore *calendarStore = [[EKEventStore alloc] init]; EKCalendar *calendar = [EKCalendar calendarWithEventStore:calendarStore]; NSString *calendarID = [calendar calendarIdentifier]; /// cache this in your app data for retrieval later [calendar setTitle:@"New Calendar"]; NSError *error = nil; BOOL saved = [calendarStore saveCalendar:calendar commit:YES error:&error]; if (!saved) { // handle error.... }