2017-03-07 90 views
0

我正在开发一个使用应用程序脚本的Mac应用程序。这是沙盒,因此需要适当的权利,以获得发送AppleScript事件到其他应用程序的权限。我得到这个工作正常的应用程序(如Mail和Spotify),它指定访问组标识符是这样的:AppleScript应用程序权限为访问组标识符=“*”

<access-group identifier="com.apple.mail.compose" access="rw"/> 
<access-group identifier="com.spotify.playback"/> 

然而,其他一些苹果的开发的应用(如Xcode中)指定这样的标识符:

<access-group identifier="*"/> 

我试图配置我的授权文件是这样的:

<key>com.apple.security.scripting-targets</key> 
<dict> 
    <key>com.apple.dt.Xcode</key> 
    <array> 
     <string>*</string> 
    </array> 
</dict> 

,但这样做时,它不工作,我在控制台收到此错误信息:

AppleEvents/sandbox: Returning errAEPrivilegeError/-10004 and denying dispatch of event xcod/buld from process '-------'/0x0-0x1a05a04, pid=82514, because it is not entitled to send an AppleEvent to this process. 

有谁知道如何正确配置这个?

回答

0

其实我自己找到了答案。在sdef Man页面中,它指出:

“*”的标识符表示该元素可用于任何应用程序, 没有明确的权利。

这意味着您不必在您的权利文件中添加标识符,它应该工作。我得到错误的原因是因为我不小心使用了那些特定访问组中未包含的命令。