Откройте сведения о событии в приложении календаря с определенным идентификатором события.

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

Вот как я добавляю событие

-(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;
        event.notes=@"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];
}

То, что я хочу, показано на скриншоте ниже введите здесь описание изображения

Я получаю следующее: введите описание изображения

Есть идеи?


person Pratik Jamariya    schedule 04.10.2016    source источник
comment
Удачи заставить это работать?   -  person AhmedW    schedule 06.06.2017
comment
Нет, @AhmedW, я не   -  person Pratik Jamariya    schedule 06.06.2017


Ответы (2)


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

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

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

person Pratik Jamariya    schedule 10.11.2017

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

person George    schedule 10.10.2016