2013-04-07 3 views
4

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

+5

http://www.techotopia.com/index.php/Using_iOS_6_Event_Kit_to_Create_Date_and_Location_Based_Reminders – Cezar

+0

Спасибо это именно то, что я искал. –

ответ

15

От "Calendars and Reminders Programming Guide"? В частности "Reading and Writing Reminders"

Вы можете создавать напоминания с использованием метода класса 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]); 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^