Экран добавления события не открывается в iOS

В моем iOS-приложении я хочу создать событие в календаре, и я нашел код, но код напрямую создает событие, а не открывает экран добавления события. Я хочу разрешить пользователю устанавливать напоминание через экран добавления события.

Мой код ниже:

EKEventStore *es = [[EKEventStore alloc] init];
EKAuthorizationStatus authorizationStatus = [EKEventStore authorizationStatusForEntityType:EKEntityTypeEvent];
BOOL needsToRequestAccessToEventStore = (authorizationStatus == EKAuthorizationStatusNotDetermined);

if (needsToRequestAccessToEventStore) {
    [es requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
        if (granted) {
            EKEvent *event = [EKEvent eventWithEventStore:es];
            event.title = @"Event Title";
            event.startDate = [NSDate date]; // today
            event.endDate = [event.startDate dateByAddingTimeInterval:60*60];  // Duration 1 hr
            [event setCalendar:[es defaultCalendarForNewEvents]];
            NSError *err = nil;
            [es saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
              NSLog(@"Error : %@", err);
        } else {
            // Denied
        }
    }];
} else {
    BOOL granted = (authorizationStatus == EKAuthorizationStatusAuthorized);
    if (granted) {
        EKEvent *event = [EKEvent eventWithEventStore:es];
        event.title = @"Event Title";
        event.startDate = [NSDate date]; // today
        event.endDate = [[NSDate date] dateByAddingTimeInterval:60*60];  // Duration 1 hr
        [event setCalendar:[es defaultCalendarForNewEvents]];
        NSError *err = nil;
        [es saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
        NSLog(@"Error : %@", err);
    } else {
        // Denied
    }
}

1 ответ

Основанный на документации EKEventStore, метод: [es saveEvent:event span:EKSpanThisEvent commit:YES error:&err]; сохраняет событие. Ваш код работает правильно, и этот код не должен открывать "Экран добавления события", как вы ожидаете.

Другие вопросы по тегам