EventKit и расширения приложений на Mac

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

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

EKEventStore* store = [[EKEventStore alloc] init];

Он даже не доходит до метода requestAccessToEntityType:completion: (следующая строка) до того, как выдает ошибку в консоль:

serviceName = "com.apple.CalendarAgent.database";
} ... returned error Error Domain=NSCocoaErrorDomain Code=134070 "An error occurred in the persistent store." UserInfo=0x61000026dd80 {Problem=request failed, insufficient permission} with userInfo dictionary {

Problem = "request failed, insufficient permission";

В документации сказано, что я не могу использовать API, «отмеченные в файлах заголовков макросом NS_EXTENSION_UNAVAILABLE» (в заголовке таких макросов нет). Он действительно говорит, что «инфраструктура HealthKit и платформа пользовательского интерфейса EventKit недоступны для расширений приложений», но EventKit не является «инфраструктурой пользовательского интерфейса EventKit», которая, насколько я могу судить, является только iOS.

Я предполагаю, что есть проблема с отображением диалогового окна разрешений. Есть ли у виджета Apple Calendar Today особые разрешения, недоступные сторонним приложениям?


person Stephen Darlington    schedule 15.01.2015    source источник
comment
Я поднял радар №19483608, чтобы задокументировать это. Я обновлю, если получу ответ от Apple.   -  person Stephen Darlington    schedule 15.01.2015


Ответы (1)


Есть ли у виджета Apple Calendar Today особые разрешения, недоступные сторонним приложениям?

это приложение для Apple, и вам не нужно беспокоиться о разрешениях AFAIK


но:

Из прочтения документации, касающейся основного местоположения, я понимаю, что расширение может использовать GPS только после, когда пользователь утвердил его для приложения - я бы перенес его в доступ к календарю! => ergo - на мой взгляд: он работает в приложении, но не в ext, то это ошибка

person Daij-Djan    schedule 15.01.2015
comment
Конечно, но есть ли способ сделать что-то подобное? Я ошибаюсь? Я пропустил шаг? Это ошибка ОС? - person Stephen Darlington; 15.01.2015
comment
У меня тоже было такое впечатление. Всегда хорошо получить второе мнение! Спасибо. - person Stephen Darlington; 15.01.2015