Mac上的EventKit和App Extensions

时间:2015-01-15 13:00:51

标签: macos cocoa eventkit

我正在尝试为访问当前用户日历的Mac制作应用扩展程序,但它似乎无法正常工作。我错过了什么吗?

我将日历应用数据功能添加到扩展程序(以及主应用程序,看它会有所不同 - 它没有)。我在扩展程序中有以下代码:

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 UI框架不适用于应用扩展程序"但EventKit不是" EventKit UI框架"据我所知,这只是iOS。

我的猜测是显示权限对话框时出现问题。 Apple的Calendar Today小部件是否具有第三方应用无法访问的特殊权限?

1 个答案:

答案 0 :(得分:1)

  
    

Apple的Calendar Today小工具是否具有第三方应用无法访问的特殊权限?

  

它是一个苹果应用程序,并不需要担心权限AFAIK


但:

通过阅读有关核心位置的文档,我了解到扩展程序只能在用户为应用程序批准后使用GPS - 我会将其转移到日历访问权限! => ergo - 在我看来:它适用于应用程序,但不适用于ext,那么它就是 bug