【问题标题】:EventKit and App Extensions on the MacMac 上的 EventKit 和应用程序扩展
【发布时间】:2015-01-15 13:00:51
【问题描述】:

我正在尝试为访问当前用户日历的 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";

文档说我不能使用“在带有 NS_EXTENSION_UNAVAILABLE 宏的头文件中标记的 API”(头文件中没有这样的宏)。它确实说“应用程序扩展无法使用 HealthKit 框架和 EventKit UI 框架”,但 EventKit 不是“EventKit UI 框架”,据我所知,它只是 iOS。

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

【问题讨论】:

  • 我提出了 Radar #19483608 来记录这一点。如果收到 Apple 的回复,我会更新。

标签: macos cocoa eventkit


【解决方案1】:

Apple 的今日日历小部件是否具有第三方应用无法访问的特殊权限?

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


但是:

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

【讨论】:

  • 当然可以,但是有什么方法可以让我做类似的事情吗?我采取了错误的方法吗?我错过了一步吗?它是操作系统中的错误吗?
  • 这也是我的印象。获得第二意见总是好的!谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 2012-11-05
  • 2018-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多