Я пытаюсь создать расширение приложения для 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 особые разрешения, недоступные сторонним приложениям?