zoukankan      html  css  js  c++  java
  • ios中将事件同步到系统日历

     //获取日历事件

        EKEventStore* eventStore = [[EKEventStorealloc] init];

        NSDate* ssdate = [NSDatedateWithTimeIntervalSinceNow:-3600*24*90];//事件段,开始时间

        NSDate* ssend = [NSDatedateWithTimeIntervalSinceNow:3600*24*90];//结束时间,取中间

        NSPredicate* predicate = [eventStore predicateForEventsWithStartDate:ssdate

                                                                     endDate:ssend

                                                                   calendars:nil];

        NSArray* events = [eventStore eventsMatchingPredicate:predicate];//数组里面就是时间段中的EKEvent事件数组

        

        //往日历写事件

        EKEvent *event  = [EKEventeventWithEventStore:eventStore];

        NSDate *startDate = [[NSDate alloc] init];

        NSDate *endDate  = [[NSDate alloc] init];

        event.title     = @"New event test ";

        event.startDate = startDate;

        event.endDate   = endDate;

        

        event.location = @"北京市,海淀区";

        //添加提醒

        [event addAlarm:[EKAlarmalarmWithRelativeOffset:60.0f * -60.0f * 24]];

        [event addAlarm:[EKAlarmalarmWithRelativeOffset:60.0f * -15.0f]];

       

     

        [event setCalendar:[eventStore defaultCalendarForNewEvents]];

        __block NSError *err;

        //ios 6以后

        if([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {

            [eventStore requestAccessToEntityType:EKEntityTypeEvent

                                       completion:^(BOOL granted, NSError *error) {

                                           dispatch_async(dispatch_get_main_queue(), ^{

                                               if (granted) {

                                                   [eventStore saveEvent:event span:EKSpanFutureEvents commit:YES error:&err];

                                                   UIAlertView *alert = [[UIAlertView alloc]

                                                                         initWithTitle:@"Event Created"

                                                                         message:@"Yay!?"

                                                                         delegate:nil

                                                                         cancelButtonTitle:@"Okay"

                                                                         otherButtonTitles:nil];

                                                   [alert show];

                                               } else {

                                                   NSLog(@"不允许访问日历");

                                               }

                                           });

                                       }];

        } else {

            [eventStore saveEvent:event span:EKSpanThisEvent error:&err];

        }

  • 相关阅读:
    字节面试 抖音/火山高级后台开发工程师
    面试总结 缓存Redis
    腾讯面试 WXG 微信支付核心业务应用工程师
    富途面试 基础组件Java开发
    mybatis lombok 报错: java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor
    十进制转十六进制
    2020年第11届蓝桥杯C/C++B组 第二轮省赛
    辗转相除法
    2020年第11届蓝桥杯C/C++B组 第一轮省赛
    2020第十一届蓝桥杯大赛软件类国赛题目 C/C++ B 组
  • 原文地址:https://www.cnblogs.com/Cristen/p/3599909.html
Copyright © 2011-2022 走看看