Friday, December 5, 2014

EKEventKit Example


To add an event:
================

EKEventStore *store = [[EKEventStore alloc] init];
    [store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
        if (!granted) { return; }
        EKEvent *event = [EKEvent eventWithEventStore:store];
        event.title = @"Event Title";
        event.startDate = [NSDate date]; //today
        event.endDate = [event.startDate dateByAddingTimeInterval:60*60];  //set 1 hour meeting
        [event setCalendar:[store defaultCalendarForNewEvents]];
        NSError *err = nil;
        [store saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
        NSString *savedEventId = event.eventIdentifier;  //this is so you can access this event later
    }];
  



To remove an event:
==================

 EKEventStore* store = [[EKEventStore alloc] init];
    [store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
        if (!granted) { return; }
        EKEvent* eventToRemove = [store eventWithIdentifier:savedEventId];
        if (eventToRemove) {
            NSError* error = nil;
            [store removeEvent:eventToRemove span:EKSpanThisEvent commit:YES error:&error];
        }
    }];
  
  
----------------------------------------------


Event With Alarm Example:
=========================

EKEvent *event = [EKEvent eventWithEventStore: eventStore];
event.calendar = eventStore.defaultCalendarForNewEvents;
event.title = @"Some title";
event.allDay = YES;
event.startDate = self.date;
event.endDate = self.date;


EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:0];
event.alarms = @[alarm];

NSError *err = nil;
BOOL saved = [store saveEvent:event span:EKSpanThisEvent error:&err];
if(!saved && err){
    NSLog("Error : %@", [err localizedDescription];
} else {
   int eventId = event.eventIdentifier;
}




No comments: