puedo para online mac importar ics gratis google exportar eventos eliminar como calendario añadir archivo abrir iphone objective-c xcode calendar

iphone - online - google calendar para mac



¿Cómo puedo crear un evento iCal mediante programación en el calendario predeterminado? (2)

¿Cómo puedo usar Objective-C para crear programáticamente un evento iCal en el calendario predeterminado? Quiero verificar si el evento ya existe y establecer el estado del botón en consecuencia.


EKEventStore *eventStore = [[EKEventStore alloc] init]; EKEvent *event = [EKEvent eventWithEventStore:eventStore]; NSDate *date = [[NSDate alloc ]init];//today,s date event.title = @"remainder";//title for your remainder event.startDate=date;//start time of your remainder event.endDate = [[NSDate alloc] initWithTimeInterval:1800 sinceDate:event.startDate];//end time of your remainder NSTimeInterval interval = (60 *60)* -3 ; EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:interval]; //Create object of alarm [event addAlarm:alarm]; //Add alarm to your event [event setCalendar:[eventStore defaultCalendarForNewEvents]]; NSError *err; NSString *ical_event_id; //save your event if([eventStore saveEvent:event span:EKSpanThisEvent error:&err]){ ical_event_id = event.eventIdentifier; NSLog(@"%@",ical_event_id); } for more info check this link

muestra para EKEvent


Un ejemplo de cómo crear un evento iCAL mediante programación en el calendario predeterminado, utilizando Objective-C. El código verifica si el evento ya existe y establece el estado del botón en consecuencia. Aquí está el código de @ codeburger :

-(void)initCalendar { // An array of 1 dictionary object, containing START and END values. NSMutableArray* pvDict = [[NSMutableArray alloc] initWithContentsOfURL:[NSURL URLWithString:PV_URL ]]; // Check if the private view event already exists in the default calendar. // Then set the calendar button state. // Get a entry point to the Calendar database. self.store = [[EKEventStore alloc ] init ]; // Get an array of all the calendars. NSArray *calendars = store.calendars; // Get the default calendar, set by the user in preferences. EKCalendar *defaultCal = store.defaultCalendarForNewEvents; // Find out if this calendar is modifiable. BOOL isDefaultCalModifiable = defaultCal.allowsContentModifications ; // Create an event in the default calendar. self.event = [ EKEvent eventWithEventStore:store ]; self.event.title = CHELSEA_SPACE ; self.event.location = CHELSEA_ADDRESS ; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyy-MM-dd HH:mm:ss.S"]; NSString *startString = [[ pvDict objectAtIndex:0] objectForKey:@"starts" ]; NSDate *dateStart = [dateFormatter dateFromString:startString]; NSString *endString = [[ pvDict objectAtIndex:0] objectForKey:@"ends" ]; NSDate *dateEnd = [dateFormatter dateFromString:endString]; self.event.startDate = dateStart; self.event.endDate = dateEnd; self.event.calendar = defaultCal ; // Alternative code to add 2.5 hours to start time. // [[NSDate alloc] initWithTimeInterval:9000 sinceDate:event.startDate]; // Search for events which match this date/time start and end. // Compare the matched events by event TITLE. NSPredicate *predicate = [store predicateForEventsWithStartDate:event.startDate endDate:event.endDate calendars:calendars]; NSArray *matchingEvents = [store eventsMatchingPredicate:predicate]; self.calendarButton.enabled = NO; if( ! isDefaultCalModifiable ) { // The default calendar is not modifiable return ; } if ( [ matchingEvents count ] > 0 ) { // There are already event(s) which match this date/time start and end. // Check if this event is the PV EKEvent *anEvent; int j; for ( j=0; j < [ matchingEvents count]; j++) { anEvent = [ matchingEvents objectAtIndex:j ] ; if([ CHELSEA_SPACE isEqualToString: anEvent.title ]) { // PV event already exists in calendar. return; } } [ anEvent release ]; } self.calendarButton.enabled = YES; [ pvDict release ]; } -(void)addEventToCalendar:(id)sender { NSError *error; BOOL saved = [self.store saveEvent:self.event span:EKSpanThisEvent error:&error]; NSLog(@"Saved calendar event = %@/n", (saved ? @"YES" : @"NO")); self.calendarButton.enabled = NO; }

He visto esta pregunta sin respuesta y siento que debería ser editada dando crédito completo a @ codeburger .