我尝试从Swift代码运行AppleScript命令,如下所示:
var appleScriptCmd = "tell application \"System Events\" to make login item at end with properties {path:\"" + appPath + "\", hidden:false, name:\"Some App\"}";
var appleScriptCmd2 = "tell application \"System Events\" to set visible of process \"Safari\" to false";
然后我尝试了两个:
let script = NSAppleScript(source: appleScriptCmd2)!;
var errorDict : NSDictionary?
script.executeAndReturnError(&errorDict)
if errorDict != nil { print(errorDict!) }
或更早的方法:
Process.launchedProcess(launchPath: "/usr/bin/osascript", arguments: ["-e", appleScriptCmd])
既不起作用又同时我试过的两个命令都是使用osascript -e“some command”工具从终端程序开始工作的。
答案 0 :(得分:4)
由于您的应用是沙盒化的(项目设置>功能打开App Sandbox ),您有三种选择:
~/Library/Application Scripts/
中的相应目录中,然后使用NSUserAppleScriptTask。在沙盒应用中NSAppleScript
拒绝使用。