В настоящее время я тестирую приложение, которое загружает список специальных событий через XML и предоставляет их в виде списка, который пользователь затем может добавить в свой календарь.При нажатии кнопки «Добавить событие в календарь» функция срабатывает правильно, устанавливает событие с правильными датами, а функция saveEvent
возвращает noErr
, но событие никогда не появляется в календаре.Я проверил на двух разных айфонах и имел одинаковое поведение с обоих.Я не уверен, что происходит неправильно, так как кажется, что ничего не происходит неправильно.
Мой код события выглядит следующим образом:
- (IBAction) addEvent:(id)sender
{
EKEventStore *eventStore = [[[EKEventStore alloc] init] autorelease];
EKEvent *newEvent = [EKEvent eventWithEventStore:eventStore];
newEvent.title = _event.name;
CFTimeZoneRef zone = CFTimeZoneCopySystem();
CFAbsoluteTime absTime = CFGregorianDateGetAbsoluteTime([_event getStartDate], zone);
NSDate *start = [(NSDate *)CFDateCreate(nil, absTime) autorelease];
absTime = CFGregorianDateGetAbsoluteTime([_event getEndDate], zone);
NSDate *end = [(NSDate *)CFDateCreate(nil, absTime) autorelease];
CFRelease(zone);
newEvent.startDate = start;
newEvent.endDate = end;
newEvent.allDay = [_event getAllDay];
newEvent.notes = _event.description;
[newEvent setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:newEvent span:EKSpanThisEvent error:&err];
if (err == noErr) {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Event Added"
message:[NSString stringWithFormat:@"%@ successfully added to calendar!", _event.name]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
}
}
После очистки + восстановления, я получил один измои события, чтобы показать в календаре, однако, казалось, исчезли, когда я прокручивал вверх и вниз.То же самое произошло для другой даты, которую я добавил, а затем третий тест ничего не дал.Есть ли что-то, что удаляет эти даты при прокрутке и / или выходе и повторном входе в календарь?