2012-11-22 2 views
0

이벤트가 시작될 때까지 테스트를 위해 10 초 동안 재생되는 알람과 함께 이벤트가 성공적으로 추가되었습니다. 문제는 알람 트리거 (iPhone의 UIAlertView가 표시됨)이지만 초 후에는 사라집니다. 매우 이상합니다 ...EKEvent 알람 AlertView가 잠시 후에 사라집니다.

무엇이 문제 일 수 있습니까?

코드 :

- (IBAction)addEvent:(id)sender { 
    EKEventStore *eventStore = [[EKEventStore alloc] init]; 

    if ([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) 
    { 
     [eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) 
     { 
      EKEvent *anEvent = [EKEvent eventWithEventStore:eventStore]; 
      anEvent.calendar = eventStore.defaultCalendarForNewEvents; 
      anEvent.title = self.eventNameTextField.text; 

      NSDate *date = self.datePicker.date; 

      anEvent.startDate = date; 
      anEvent.endDate = date; 

      NSMutableArray *myAlarmsArray = [[NSMutableArray alloc] init]; 

      EKAlarm *alarm1 = [EKAlarm alarmWithRelativeOffset:-10]; 

      [myAlarmsArray addObject:alarm1]; 

      anEvent.alarms = myAlarmsArray; 

      NSError *eventError; 
      [eventStore saveEvent:anEvent span:EKSpanThisEvent error:&eventError]; 
     }]; 
    } 
} 

답변

0

는 다음과 같은 코드가 당신에게 도움이되기를 바랍니다 참조하십시오.

EKEventStore *eventStore = [[EKEventStore alloc] init]; 
    EKEvent *event = [EKEvent eventWithEventStore:eventStore]; 
    event.title = [NSString stringWithFormat:@"%@'s Birthday",strName]; 
    NSDate *twoYearsFromNow = [NSDate dateWithTimeIntervalSinceNow:1577846275]; 
    double alarmAmountInSeconds = 60*60*9; 
    EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:(1.0*alarmAmountInSeconds)]; 
    EKRecurrenceRule *recurrance; 
    recurrance = [[EKRecurrenceRule alloc] initRecurrenceWithFrequency:EKRecurrenceFrequencyYearly interval:1 end:[EKRecurrenceEnd recurrenceEndWithEndDate:twoYearsFromNow]]; 
    NSMutableArray *arrayReccurence = [NSMutableArray arrayWithObject:recurrance]; 
    event.recurrenceRules = arrayReccurence; 
    event.startDate = startDate; 
    event.endDate = [[NSDate alloc] initWithTimeInterval:600 sinceDate:event.startDate]; 
    event.allDay = true; 
    event.alarms = [NSArray arrayWithObject:alarm]; 

    [event setCalendar:[eventStore defaultCalendarForNewEvents]]; 
    NSError *err; 
    [eventStore saveEvent:event span:EKSpanThisEvent error:&err]; 
관련 문제