================= .h 파일. =======================
#import <EventKit/EventKit.h>
// 미리 알림시 나올 텍스트 입력 받을 텍스트필드.
@property (strong, nonatomic) IBOutlet UITextField *reminderText;
// 미리 알림 시간 입력 받기 위한 데이트 픽커.
@property (strong, nonatomic) IBOutlet UIDatePicker *myDatePicker;
// 이벤트 저장소.
@property (strong, nonatomic) EKEventStore *eventStore;
// 미리 알림 시작 버튼 이벤트.
- (IBAction)setReminder:(id)sender;
================== .m 파일. ======================
- (IBAction)setReminder:(id)sender
{
if (_eventStore == nil)
{
_eventStore = [[EKEventStore alloc] init];
[_eventStore requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {
if (!granted)
{
NSLog(@"Access to store not granted");
}
}];
}
if (_eventStore != nil)
{
[self createReminder];
}
}
- (void)createReminder
{
EKReminder *reminder = [EKReminder reminderWithEventStore:self.eventStore];
reminder.title = _reminderText.text;
reminder.calendar = [_eventStore defaultCalendarForNewReminders];
NSDate *date = [_myDatePicker date];
EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:date];
[reminder addAlarm:alarm];
NSError *error = nil;
[_eventStore saveReminder:reminder commit:YES error:&error];
if (error)
{
NSLog(@"error = %@", error);
}
}