Я добавил следующий код в свое приложение. Он работает нормально, если [comps setYear: 1], но если я меняю значение года на 2 или больше, чем на 2 кода, но также не добавлять какое-либо событие в календарь. Это происходит только в iOS 7. Но если я запустил тот же код на iOS 6, его корректная работа & событие будет добавлено в календаре успешно. Есть ли ограничение в iOS 7 для добавления будущих событий?EventKit saveEvent не работает в iOS 7
-(void)addEvent{
EKEventStore *es = [[EKEventStore alloc] init];
EKAuthorizationStatus authorizationStatus = [EKEventStore authorizationStatusForEntityType:EKEntityTypeEvent];
BOOL needsToRequestAccessToEventStore = (authorizationStatus == EKAuthorizationStatusNotDetermined);
if (needsToRequestAccessToEventStore) {
[es requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (granted) {
[self setEventForStore:es];
} else {
}
}];
} else {
BOOL granted = (authorizationStatus == EKAuthorizationStatusAuthorized);
if (granted) {
[self setEventForStore:es];
} else {
}
}
}
-(void)setEventForStore:(EKEventStore*)store{
EKEvent *event = [EKEvent eventWithEventStore:store];
event.title = @"Event 4";
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comps = [NSDateComponents new];
// comps.day =3650;
comps.day=5;
comps.hour=1;
comps.year=2;
NSDate *sevenDays = [calendar dateByAddingComponents:comps toDate:[NSDate date] options:0];
event.startDate = sevenDays;
NSDate *sevenDays1 = [event.startDate dateByAddingTimeInterval:60*60];;
// duration = 1 h
event.endDate = sevenDays1;
[event setCalendar:[store defaultCalendarForNewEvents]];
NSError *err = nil;
[store saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
}
`
, но мой код работает нормально, если я задал год = 1, то что выдает с годом = 2? Я пробовал с вашим кодом, но все еще не показывал никаких событий в календаре. – Nitin
@Nitin проверить обновление 1 и сообщить мне, что вы получаете. – Pavan
если я использую [comps setDay: 05]; [comps setMonth: 01]; [comps setYear: 2014]; затем консольный вывод - Seven Days date = 19-02-4028 – Nitin