ios - EKEvent is not following EKRecurrenceRule -


i adding event in ios calendar using eventkit. event recurring event. setting recurring rules event programmatically. event getting added in calendar dates shown on calendar not same set them.

event details enter image description here

recurring rules. enter image description here

after event added calendar in calendar entry enter image description here

my event being show 2017 didn't set end date 2017 2016.

i tried adding event ios calendar , got same result.

below code using.

/*!  *  method, called added event calendar  */ - (void)addeventtocalendar {     @try {           /* event added device calendar */         [singleton.eventstore requestaccesstoentitytype:ekentitytypeevent completion:^(bool granted, nserror *error) {             if (granted) {                  [singleton.event_dateformat setdateformat:[self dateformatforselectedlanguage]];                 ekevent *event = [ekevent eventwitheventstore:singleton.eventstore];                 event.title = _event.eventtitle;                 event.startdate = [singleton.event_dateformat datefromstring:eventinfo.eventactualstartdate];                 event.enddate = [singleton.event_dateformat datefromstring:eventinfo.eventactualenddate];                 event.notes = flattenhtml(eventinfo.eventdescription);                  // notification 2 hours before event start time.                 [event addalarm:[ekalarm alarmwithrelativeoffset:-(2*60*60)]];                 [event setcalendar:[singleton.eventstore defaultcalendarfornewevents]];                  /* here opening event edit view controller */                 ekeventeditviewcontroller *controller = [[ekeventeditviewcontroller alloc] init];                 controller.event = event;                 controller.eventstore = singleton.eventstore;                 controller.editviewdelegate = self;                  // event recurring mark repeat in calendar.                  // list of days on particular event occurs.                 nsmutablearray <ekrecurrencedayofweek *> *daysoftheweek = [[nsmutablearray alloc] init];                  if (_event.eventrecurrence &&                     ! [_event.eventdays containsstring:@"n/a"]) {                     (nsstring *dayname in [_event.eventdays componentsseparatedbystring:@","]) {                         ekrecurrencedayofweek *aday = [ekrecurrencedayofweek dayofweek:[self weekdayfordayname:dayname]];                         [daysoftheweek addobject:aday];                     }                 }                  // when stop reminding user event.                 ekrecurrenceend *enddate = [ekrecurrenceend recurrenceendwithenddate:event.enddate];                  ekrecurrencerule *repeatrule = [[ekrecurrencerule alloc] initrecurrencewithfrequency:[self recurrencefrequencey:_event.eventtype] interval:1 daysoftheweek:daysoftheweek daysofthemonth:nil monthsoftheyear:nil weeksoftheyear:nil daysoftheyear:nil setpositions:nil end:enddate];                  event.allday = no;                   event.recurrencerules = @[repeatrule];                  //[event addrecurrencerule:repeatrule];                  dispatch_async(dispatch_get_main_queue(), ^{                      //nserror *erroonsave = nil;                     // [singleton.eventstore saveevent:event span:ekspanfutureevents commit:yes error:&erroonsave];                     [mbprogresshud hideallhudsforview:self.view animated:yes];                     [self presentviewcontroller:controller animated:yes completion:nil];                 });              }else{                 dispatch_async(dispatch_get_main_queue(), ^{                     [mbprogresshud hideallhudsforview:self.view animated:yes];                  [singleton alertviewtitle:@""                                   message:nslocalizedstring(@"calendar setting alert", nil)                               canceltitle:nslocalizedstring(@"ok", nil)                                 donetitle:nil                                       tag:0];                     });              }         }];      }     @catch (nsexception *exception) {         dlog(@"%@",exception);     } } 

below event details in debugger:

ekevent <0x7f94b1f19d00> {      ekevent <0x7f94b1f19d00> {    title =        tbw   ;       location =     ;       calendar =     ekcalendar <0x7f94b439d280> {title = calendar; type = local; allowsmodify = yes; color = #1badf8;};       alarms =       (     "ekalarm <0x7f94b4352fe0> {triggerinterval = -7200.000000}" );       url =          (null);       lastmodified = 2016-04-25 05:18:27 +0000;       starttimezone =    asia/kolkata (gmt+5:30) offset 19800;       starttimezone =    asia/kolkata (gmt+5:30) offset 19800  };       location =     ;       structuredlocation =   (null);       startdate =    2015-09-20 18:30:00 +0000;       enddate =      2016-05-31 18:30:00 +0000;       allday =       0;       floating =     0;       recurrence =   ekrecurrencerule <0x7f94b43e7110> rrule freq=weekly;interval=1;until=20160531t183000z;byday=mo,th;       attendees =    (null);       traveltime =   (null);       startlocation =    (null); }; 

please suggest using wrong or missing something.

i have found solution of question of answer

ios calendar behaving strangly

i setting ends parameter in wrong way. should on same date starts. time should different.

now event screen looks this

enter image description here

hope save else's time someday 😃 😃 😃 😃


Comments

Popular posts from this blog

javascript - How to get current YouTube IDs via iMacros? -

c# - Maintaining a program folder in program files out of date? -

emulation - Android map show my location didn't work -