2013-10-02 3 views
0

Попытка программно добавить событие в календарь iPhone. Я не получаю никаких ошибок, однако ничто не добавляется в календарь. savedEventId (ниже) возвращает (нуль) вот код:добавление события не отображается в календаре iPhone

Методы

Добавление события:

if(accessGranted){ 
EKEvent *event = [EKEvent eventWithEventStore:store]; 
event.startDate =[NSDate date]; 
event.endDate = [event.startDate dateByAddingTimeInterval:60*60]; 
[event setCalendar:[store defaultCalendarForNewEvents]]; 
NSError *err = nil; 
[store saveEvent:event span:EKSpanThisEvent commit:YES error:&err]; 
NSString *savedEventId = event.eventIdentifier; 
} 

получать доступ к календарю

в viewDidLoad:

store = [[EKEventStore alloc] init]; 
accessGranted=FALSE; 
[self.store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) { 
     accessGranted=TRUE; 
    }]; 

в .h файле

#import <EventKit/EventKit.h> 

    @interface 

    EKEventStore *store; 
    BOOL accessGranted; 

    @property(nonatomic, retain) EKEventStore *store; 

в .m файл

@synthesize store; 

ответ

1

Попробуйте этот код вместо:

EKEventStore *store = [[EKEventStore alloc] init]; 
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) { 
    if (!granted) { return; } 
    EKEvent *event = [EKEvent eventWithEventStore:store]; 
    event.title = @"Event Title"; 
    event.startDate = [NSDate date]; //today 
    event.endDate = [event.startDate dateByAddingTimeInterval:60*60]; //set 1 hour meeting 
    [event setCalendar:[store defaultCalendarForNewEvents]]; 
    NSError *err = nil; 
    [store saveEvent:event span:EKSpanThisEvent commit:YES error:&err]; 
    NSString *savedEventId = event.eventIdentifier; //this is so you can access this event later 
}]; 

Помните:

  • запрашивают доступ к календарю пользователя через «requestAccessToEntityType: завершение: "

  • не зафиксируете ваше мероприятие

+0

ничего, такой же результат - ни одно событие в календаре –

+1

рисунка из: календари выключатель был выключен: в настройках: ICloud: Календари = ON grrrhhhh провел день, что никакие предупреждения/предупреждения для iOS просто не работают, время, серьезно ребята. как вам они нравятся яблоки. –

Смежные вопросы