2017-04-19 12 views
0

나는 이것이 이전에 작동했다고 생각하지만 지금은 자동으로 설정된 표준 시간대 인 Louisville 또는 EDT에 이벤트를 추가 할 때 내 캘린더에 이벤트를 추가 할 때가됩니다. 한 시간 앞당겨 내 달력에.EKEventStore saveEvent 한 시간 후에 이벤트 추가하기

CST에 이벤트가있는 다른 앱에서이 작업을 수행하며이를 캘린더에 추가하면 정상적으로 추가됩니다. 내 코드가 잘못 되었나요?

- (void)viewWillAppear:(BOOL)animated { 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setTimeZone:[NSTimeZone timeZoneWithName:self.event.timeZone]]; 
    [dateFormat setDateFormat:@"yyyy-MM-ddHH:mm:ss"]; 

    self.startDate = [dateFormat dateFromString:self.game.dateTime]; 
    self.endDate = [[NSDate alloc] initWithTimeInterval:60*self.event.gameDuration sinceDate:self.startDate]; 
} 


    - (void) addToCalendar 
    { 
     EKEventStore *eventStore = [[EKEventStore alloc] init]; 

     if ([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]){ 
      [eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) 
      { 
       for (EKSource *source in eventStore.sources) 
       { 
        if (source.sourceType == EKSourceTypeCalDAV || source.sourceType == EKSourceTypeLocal) 
        { 

         EKEvent *event = [EKEvent eventWithEventStore:eventStore]; 
         event.title  = [NSString stringWithFormat:@"%@ vs. %@", self.game.awayTeam.team.name, self.game.homeTeam.team.name]; 
         event.location = [NSString stringWithFormat:@"%@ - %@", self.game.venue.name, self.game.venue.court]; 

         event.startDate = self.startDate; 
         event.endDate = self.endDate; 

         [event setCalendar:[eventStore defaultCalendarForNewEvents]]; 
         NSError *err; 

         [eventStore saveEvent:event span:EKSpanThisEvent error:&err]; 

         if(err) { 
          dispatch_async(dispatch_get_main_queue(), ^{ 
           [self showAlert:@"Error" desc:@"There was a problem adding this game to your calendar"]; 
          }); 
         } 
         else { 
          dispatch_async(dispatch_get_main_queue(), ^{ 
           [self showAlert:@"Success" desc:@"Game added to your calendar"]; 
          }); 
         } 
         break; 
        } 
       } 
      }]; 

     } 
    } 

답변

0

나는 우리의 API를 통해 그것을 보낼 때 난 그냥 애플 윈도우 시간대에서 번역을했다, 그래서 애플이 자신의 시간대 문자열을 사용 발견.

+0

나는 이것이 거짓이라고 믿습니다. –