Программно добавить напоминание в приложение Напоминания

Я создаю простое приложение для заметок и хочу реализовать напоминания. Пользователь вводил заметку, нажимал кнопку, и он устанавливал напоминание в приложении «Напоминания», используя текст. Возможно ли это, и если да, то как мне это сделать? Я видел документацию Apple по EventKit и EKReminders, но это совсем не помогло.


person Justin Bush    schedule 07.04.2013    source источник


Ответы (1)


Из «Руководства по программированию календарей и напоминаний» < / а>? В частности, "Напоминания о чтении и написании"

Вы можете создавать напоминания с помощью метода класса reminderWithEventStore:. Свойства title и calendar являются обязательными. Календарь для напоминания - это список, с которым оно сгруппировано.

Прежде чем создавать напоминание, спросите разрешения:

В .h:

@interface RemindMeViewController : UIViewController
{
    EKEventStore *store;
}

и .m, когда вам понадобится доступ к напоминаниям:

store = [[EKEventStore alloc] init];
[store requestAccessToEntityType:EKEntityTypeReminder
                      completion:^(BOOL granted, NSError *error) {
                          // Handle not being granted permission
                      }];

Чтобы добавить напоминание. Это происходит асинхронно, поэтому, если вы попытаетесь добавить напоминание сразу после этого, это не удастся (по моему опыту вызывает сбой приложения).

- (IBAction)addReminder:(id)sender
{
    EKReminder *reminder = [EKReminder reminderWithEventStore:store];
    [reminder setTitle:@"Buy Bread"];
    EKCalendar *defaultReminderList = [store defaultCalendarForNewReminders];

    [reminder setCalendar:defaultReminderList];

    NSError *error = nil;
    BOOL success = [store saveReminder:reminder
                                     commit:YES
                                      error:&error];
    if (!success) {
        NSLog(@"Error saving reminder: %@", [error localizedDescription]);
    }
}
person nevan king    schedule 07.04.2013