我尝试从 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“某些命令”工具从终端程序运行。
由于您的应用程序是沙盒的(项目设置 > 功能打开应用程序沙箱)你有三个选择:
- Add 临时权利对于您想要使用的应用程序。
- 将您的脚本放入相应的目录中
~/Library/Application Scripts/
并使用NSUserAppleScriptTask.
- 实现 AppleScriptObjC 桥并从 ASOC 框架运行 AppleScript 代码(还需要 Objective-C 桥接头文件)。
在沙盒应用程序中NSAppleScript
拒绝工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)