如何在权利中使用ScriptingBridge

时间:2014-08-12 02:20:57

标签: objective-c macos appstore-sandbox scripting-bridge

我想控制' Finder'在我的应用程序中,所以我可以最小化Finder。我尝试过ScriptingBridge,但它在Sanboxed中不起作用。但是当应用程序没有沙盒时,它可以正常工作。所以我检查Apple的开发人员文档,似乎我需要在沙箱中使用ScriptingBridge时在权利中设置com.apple.security.scripting-targets。但它没有说明设置,所以我应该怎么做才能控制取景器?提前致谢。

这是权利:            com.apple.security.scripting的目标                     ???????                     ????                   

2 个答案:

答案 0 :(得分:2)

Finder没有任何脚本访问组。您可以添加临时例外com.apple.security.temporary-exception.apple-events as documented here

要查找脚本编制目标,请参阅此处:How can I know the Apple Event Access Groups used by an application?

但是,如果您想在App Store中分发您的应用,那么您运气不佳。通过脚本Finder,您的应用程序不会将评论传递到App Store。

答案 1 :(得分:0)

Finder故意没有任何脚本访问组,因为它可以让您避开沙箱文件系统限制。 (正如另一个答案所提到的,你可以使用旧的temporary-exception.apple-events权利来编写Finder脚本,但它不会通过商店审核。)请尝试使用NSWorkspace,尤其是{{1} }},-openFile-launchApplication方法。如果通过"最小化"你的意思是"隐藏",然后看-selectFile