iOS 给系统日历添加事件

最重要 添加#import <EventKit/EventKit.h> 库

EKEventStore *eventStore = [[EKEventStore alloc] init];
            //请求使用用户的日历数据库
            if ([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)])
            {
                [eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
                    dispatch_async(dispatch_get_main_queue(), ^{
                        if (error){
                            //错误信息 这里显示错误消息
                        }else if (!granted){
                            //被用户拒绝,不允许访问日历 拒绝访问显示错误消息
                        }else{
                            // 数据访问权限
                            // ***** 在这里做重要的事情 *****
                            
                            //事件保存到日历
                            //06.07 元素
                            //title(标题 NSString),
                            //location(位置NSString),
                            //startDate(开始时间 2016/06/07 11:14AM),
                            //endDate(结束时间 2016/06/07 11:14AM),
                            //addAlarm(提醒时间 2016/06/07 11:14AM),
                            //notes(备注类容NSString)
                            
                            //创建事件
                            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];
                            NSString * s = [dateFormatter stringFromDate:date];
                            DLog(@"%@",s);
                            
                            //开始时间(必须传)
                            event.startDate = [date dateByAddingTimeInterval:60 * 2];
                            //结束时间(必须传)
                            event.endDate   = [date dateByAddingTimeInterval:60 * 5 * 24];
                            //                    event.endDate   = [[NSDate alloc]init];
                            //                    event.allDay = YES;//全天
                            
                            //添加提醒
                            //第一次提醒  (几分钟后)
                            [event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0f * -1.0f]];
                            //第二次提醒  ()
                            //                    [event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0f * -10.0f * 24]];
                            
                            //06.07 add 事件类容备注
                            NSString * str = ws.model.remark;
                            event.notes = [NSString stringWithFormat:@"%@",str];
                            
                            [event setCalendar:[eventStore defaultCalendarForNewEvents]];
                            NSError *err;
                            
                            [eventStore saveEvent:event span:EKSpanThisEvent error:&err];
                            
                            DLog(@"保存成功");
                            
                            //直接杀死进程
                            exit(2);
                            
                        }
                    });
                }];
            }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,893评论 19 139
  • GPUImage是现在做滤镜最主流的开源框架,没有之一。作者BradLarson基于openGL对图片处理单元进行...
    清蘂翅膀的技术阅读 14,884评论 1 13
  • 《原文地址》 GPUImage是现在做滤镜最主流的开源框架,没有之一。作者BradLarson基于openGL对图...
    泛坷阅读 4,073评论 0 1
  • http://blog.csdn.net/kangguang/article/details/51658683 G...
    Skylpy阅读 5,010评论 0 0
  • 姓名:罗江汉 公司:东莞市旭瑞光电科技有限公司 组别:第230期努力二组 【日精进打卡第 53天】 【知~学习】 ...
    罗江汉阅读 1,621评论 0 0

友情链接更多精彩内容