' XATTR'命令无法在沙盒应用程序中运行

时间:2016-08-08 05:27:29

标签: macos sandbox mac-app-store xattr

我们在IDE上工作了很长时间,它有com.apple.security.app-sandbox模式。用户可以从互联网(开箱即用)下载必备的SDK,并在我们的IDE中用于开发。在使用这些SDK文件之前,我们很多时候注意到文件都有隔离属性(com.apple.quarantine)。由于其更严格的限制政策,这些文件被禁止在El Capitan的沙盒应用程序内使用。为了克服这种阻塞,我们决定在IDE中使用这些SDK文件之前运行一个bash脚本:

#!/bin/bash
SDKPATH=$1
xattr -d -r com.apple.quarantine "$1"

为了顺利运行,我们在应用中添加了以下权利:

<key>com.apple.security.scripting-targets</key>
<dict>
   <key>com.apple.Terminal</key>
   <array/>
</dict>

从已安装的应用程序中,这在El Cap中从未奏效。最后,我们发现这种特定的权利用法只能使bash脚本正常工作:

<key>com.apple.security.temporary-exception.apple-events</key>
<array>
    <key>com.apple.terminal</key>
</array>

不幸的是,Apple审核小组对上述权利的使用权限非常严格。

是否有任何其他已知的方式或权利使用可以使我们运行&#39; xattr&#39;命令并从我们的应用程序中删除扩展属性?

0 个答案:

没有答案