2016-10-04 10 views
7

Я пытаюсь открыть календарь с определенным событием, я добавил события программно, и все идентификаторы этих событий являются постоянными.Откройте «Сведения о событии» в приложении календаря с определенным идентификатором события

Это, как я добавить событие

-(IBAction)addEvent:(id)sender{ 
    EKEventStore *store = [[EKEventStore alloc]init]; 
    [store requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) { 
     if (!granted) { return; } 
     EKEvent *event = [EKEvent eventWithEventStore:store]; 
     event.title = @"Demo Title"; 
     NSDateComponents *comps=[[NSDateComponents alloc]init]; 
     [comps setDay:4]; 
     [comps setMonth:10]; 
     [comps setYear:2016]; 
     [comps setHour:12]; 
     [comps setMinute:1]; 

     NSDate *date=[[[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian] dateFromComponents:comps]; 
     _date=date; 
     event.startDate = date; 
     event.endDate=date; 
     [email protected]"This is event description"; 

     EKAlarm *alarm=[EKAlarm alarmWithAbsoluteDate:date]; 
     [event addAlarm:alarm]; 
     event.calendar = [store defaultCalendarForNewEvents]; 

     NSError *err=nil; 
     [store saveEvent:event span:EKSpanThisEvent commit:YES error:&err]; 
    }]; 
} 

Событие успешно добавлен, и я также смог открыть календарь приложение, но дело в том, что я не могу перемещаться внутри детали событий в календаре

вот как я открыть календарь

-(IBAction)openCalender:(id)sender{ 
    NSInteger interval = [_date timeIntervalSinceReferenceDate]; 
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"calshow:%ld?eventid=%@", (long)interval,_eventID]]; 
    NSLog(@"%@",url); 
    [[UIApplication sharedApplication] openURL:url]; 
} 

Что я хочу в ниже скриншоте enter image description here

Что я получаю это enter image description here

любая идея?

+0

любая удача заставить это работать? – AhmedW

+0

Nope @AhmedW я не сделал –

ответ

0

Чтобы ответить на мой собственный вопрос, это не возможно ни с общественной API

Я искал в течение года, но это не возможно с любой общественной API, но я предполагаю, что там могут быть некоторые частные API для этого (и, вероятно, это приведет к отказу нашего приложения).

Виджет приложения для календарей делает то же самое, что я хочу сделать, но это API Apple не позволит нам его использовать. lol

1

Я действительно не думаю, что есть способ сделать это. Даже при создании нового события календаря из приложения Mail по умолчанию открывается вид календаря. Если бы эта функциональность была возможна, я уверен, что они по крайней мере осуществили ее в почтовом приложении по умолчанию.