11

我意识到我在准备沙盒方面有点晚了,但事实就是如此。

我正在为 OS X 10.9 开发。该应用程序显示日历事件数据,但不允许编辑,因此我启用了日历功能。

当我从 Xcode 运行它时,该应用程序在启用沙盒的情况下运行良好,但是当我导出它使用开发人员 ID 签名时,该应用程序运行,但无法访问日历数据。更重要的是,系统从不要求我允许该应用访问日历数据。

当我运行该应用程序时,它会启动,但不显示任何数据。在 Console 中,sandboxd 会抛出一堆如下所示的错误:

sandboxd: ([54]) appleeventsd(54) deny file-read-metadata /Library

sandboxd: ([54]) appleeventsd(54) deny mach-lookup com.apple.ocspd

我用 来检查应用程序的权利codesign -d --entitlements,它确认它是沙盒并具有日历权利。但是,当我在应用程序中检查它是否具有访问权限[EKEventStore authorizationStatusForEntityType:EKEntityTypeEvent]时,毫不奇怪,它从未询问过它,它会返回EKAuthorizationStatusNotDetermined.

我觉得我在这里缺少一些关于权利、代码签名或部署的非常基本的东西,但我不知道它是什么。所以我投身于你们集体的仁慈和智慧。

4

0 回答 0