在沙盒环境中,您仍然可以将 Apple 事件发送到另一个应用程序——您只需为您的应用程序申请“Apple 事件临时例外”。这在“Apple 事件临时异常”部分的 Apple元素键参考中有详细说明。
Apple Event Temporary Exception
当您采用 App Sandbox 时,您的 App 保留以下能力:
● 接收 Apple 事件
● 将 Apple 事件发送给自身
● 响应它收到的 Apple 事件
但是,使用 App Sandbox,您无法将 Apple 事件发送到其他应用程序,除非您配置apple-events 临时异常权利。
对于您要向其发送 Apple 事件的每个应用程序,指定应用程序的捆绑标识符(全部为小写字符)作为此权利键值数组的字符串值。例如,要允许从您的应用程序向 iPhoto 发送 Apple 事件,请使用字符串值 com.apple.iphoto。
Entitlement key Capability
com.apple.security.temporary-exception.apple-events允许将 Apple 事件发送到一个或多个目标应用程序。
据我所知,Apple 没有在这种情况下明确定义“临时”,但一致认为 Apple 目前允许这样做,但未来的某些应用商店或 Mac OS X 更新可能会取消这样做的能力。
请注意,您必须提前明确声明您需要能够向其发送事件的应用程序 - 这不能在运行时由您的应用程序或用户动态选择。