需要导入EventKit.framework框架
#import <EventKit/EventKit.h>
相关代码如下:
- (void)saveEvent:(id)sender
{
EKEventStore *eventStore = [[EKEventStore alloc] init];
if ([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {
// 这个方法在iOS6之后才有用
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
if (error) {
NSLog(@"%@",error);
} else if (!granted) {
//被用户拒绝,不允许访问日历
NSLog(@"被用户拒绝,不允许访问日历");
} else {
//事件保存到日历
EKEvent *event = [EKEvent eventWithEventStore:eventStore]; //创建事件
event.title = @"日历事件标题"; // 标题
event.location = @"上海市徐汇区"; // 地点
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setAMSymbol:@"AM"];
[dateFormatter setPMSymbol:@"PM"];
[dateFormatter setDateFormat:@"yyyy/MM/dd hh:mmaaa"];
NSDate *date = [NSDate date];
//开始时间(必须传)
event.startDate = [date dateByAddingTimeInterval:60 * 2];
//结束时间(必须传)
event.endDate = [date dateByAddingTimeInterval:60 * 5 * 24];
event.allDay = YES;//全天
//添加提醒
//第一次提醒 (几分钟后)
[event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0 * -1.0]];
//第二次提醒
[event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0f * -10.0f * 24]];
//事件内容备注
event.notes = @"接受信息类容备注";
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
NSLog(@"保存成功");
}
});
}];
}
}