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];

    }

转载于:https://www.cnblogs.com/Cristen/p/3599909.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值