我如何知道应用程序使用的Apple事件访问组?

LMP*_*P32 3 macos cocoa appleevents appstore-sandbox

Apples的Sandobox应该使用Apple事件访问组,允许应用程序相互通信,如WWDC视频" OS X中的会话206安全自动化技术 "中所述

但是,未提及的内容(我在Xcode 5.x文档中找不到它的引用)是如何找出为特定应用程序定义的Apple事件访问组.

例如,如果我希望我的应用程序与Pages(或Photoshop或Firefox等)通信,我如何找到有关其Apple事件访问组的文档?他们在哪里定义,我可以使用什么工具来找到它们?

mah*_*tin 10

来自沙盒应用程序的Apple Events通常使用Apple Script完成.这里需要有权利文件:

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 
Run Code Online (Sandbox Code Playgroud)

然后你会看到这条线

<access-group identifier="com.apple.mail.compose" access="rw"/>
Run Code Online (Sandbox Code Playgroud)

  • 我在Apple提交了雷达,用于访问组的GUI。在此处找到其副本http://www.openradar.me/14734642并同时提交。 (2认同)