我意识到我在游戏方面有点迟到了沙盒已经准备就绪了,但事情就这样了。
我正在为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
。
我觉得我遗漏了一些关于权利,代码签名或部署的非常基本的东西,但我不知道它是什么。所以我把自己放在你的集体怜悯和智慧上。