Apples的Sandobox应该使用Apple事件访问组,它允许应用程序相互通信,如WWDC视频"OS X中的Session 206安全自动化技术"中所述
但是,没有提到的(我在 Xcode 5.x 文档中找不到对它的引用)是如何找出为特定应用程序定义了哪些 Apple 事件访问组。
例如,如果我希望我的应用程序与 Pages(或 Photoshop、或 Firefox 等)通信,如何查找有关其 Apple 事件访问组的文档?它们在哪里定义,我可以使用什么工具来查找它们?
来自沙盒应用的 Apple 事件通常使用 Apple 脚本完成。此处提供了所需权利的文档:
https://developer.apple.com/library/ios/Documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195-CH4-SW25
查找哪个应用程序提供访问组有点麻烦,而且可用的应用程序并不多。使用终端和sdef
找出答案。这将为您提供一个 XML,您可以读取并查找访问组
例如在控制台中:
sdef /Applications/Mail.app > mail.sdef.xml
open mail.sdef.xml
然后你会看到这条线
<access-group identifier="com.apple.mail.compose" access="rw"/>