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

        }

  • 相关阅读:
    也用一下Windows Live Writer
    常用16种iOS视图切换动画
    iPad平板电脑程序开发基础规则(源址:http://www.cocoachina.com/bbs/simple/?t82559.html)
    NSXMLParser详解
    UIScrollView用法
    使用UIActivityIndicatorView 和多线程
    为视图加边框
    iPhone SDK开发基础之iPhone程序框架
    NSXMLParser详解(事例)
    iOS开发 小知识点
  • 原文地址:https://www.cnblogs.com/Cristen/p/3599909.html
Copyright © 2011-2022 走看看