使用EventStore,我可以创建一个新的iCal日历类型吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用EventStore,我可以创建一个新的iCal日历类型吗?相关的知识,希望对你有一定的参考价值。
所以在我的应用程序中,我非常依赖iCal
,我可以使用EventStore
添加事件,但仅限于“defaultCalendarForNewEvents”。我想为我在应用程序中创建的事件制作一个新的日历,比如说MyApp日历,它的行为很像iCal
日历,如“Home”,“Work”等。
有没有办法以编程方式执行此操作?
现在,我试过这个:
EKEventStore *eventStore = [[EKEventStore alloc] init];
NSArray *calendars = [eventStore calendars];
BOOL calendarHasBeenInitialized = NO;
for(NSCalendar *cal in calendars)
{
if([cal.calendarIdentifier isEqualToString:@"Workout Tracker"])
{
calendarHasBeenInitialized = YES;
}
}
if(!calendarHasBeenInitialized)
{
NSString *string = [[NSString alloc] initWithString:@"Workout Tracker"];
NSCalendar *workoutCalendar = (__bridge NSCalendar *)(CFCalendarCreateWithIdentifier(kCFAllocatorSystemDefault, (__bridge CFStringRef)string));
EKCalendar *ekcalendar = (EKCalendar *)workoutCalendar;
NSError *error;
[eventStore saveCalendar:ekcalendar commit:YES error:&error];
}
这在我的App Delegate
中调用,如果日历不在日历数组中,我会尝试创建它。但是,这不起作用。
任何帮助,将不胜感激!
答案
根据文档,使用EKCalendar的+calendarWithEventStore:
方法在您指定的事件存储中创建新日历。我希望它会像这样:
EKCalendar *newCalendar = [EKCalendar calendarWithEventStore:eventStore];
以上是关于使用EventStore,我可以创建一个新的iCal日历类型吗?的主要内容,如果未能解决你的问题,请参考以下文章
分享一个CQRS/ES架构中基于写文件的EventStore的设计思路
使用 Kafka 作为 EventStore 时在 Flink 中恢复状态一致性
Prooph Eventstore (PDO) 和 Doctrine DBAL 导致多个连接