iOS开发 添加事件到系统日历

xiaoxiao2021-02-27  161

需要导入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(@"保存成功"); } }); }]; } }
转载请注明原文地址: https://www.6miu.com/read-14170.html

最新回复(0)