미리 알림 구현하기.

IPHONE 2014. 8. 13. 10:32
반응형

 ================= .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);
    }
}

반응형
Posted by 컴스터
,