我正在尝试构建一个应用程序,将事件添加到IOS 7中的默认日历。 首先,我添加了一个框架:EventKit.Framework并将其导入我的.m
这是我的代码:
- (void)AddEventToCalendar
{
EKEventStore *eventStore = [[EKEventStore alloc] init];
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
// title of the event
event.title = @"Event";
// star tomorrow
event.startDate = [[NSDate date] dateByAddingTimeInterval:86400];
// duration = 1 h
event.endDate = [[NSDate date] dateByAddingTimeInterval:90000];
// set the calendar of the event. - here default calendar
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
// store the event
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
}
但是当我在iPhone上运行时,它会给我这个错误
你知道我能做什么吗?错误Domain = EKCADErrorDomain Code = 1013“操作无法完成。(EKCADErrorDomain错误1013。)”
答案 0 :(得分:4)
首先,您必须初始化EventStore,然后使用以下方法请求访问以使用用户的Calendar数据库:
[yourEventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if(granted) {
// create/edit your event here
}];
希望它有所帮助。
答案 1 :(得分:3)
尝试使用 requestAccessToEntity ,它将解决您的问题。