你如何从AIR调用AppleScript进程?

时间:2012-04-09 01:19:25

标签: flash flex air applescript

如何从AIR本机进程调用AppleScript进程?

背景: 我创建了一个script.scpt文件,并将其放在项目的根目录下。

我收到了这个错误:

Error: Error #3219: The NativeProcess could not be started. 'launch path not accessible'

我有什么:

var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var file:File = File.applicationDirectory.resolvePath("MyScript.scpt");
var processArgs:Vector.<String>;

nativeProcessStartupInfo.executable = file;
nativeProcessStartupInfo.workingDirectory = File.applicationDirectory;

processArgs = new Vector.<String>();
processArgs[0] = "foo";

nativeProcessStartupInfo.arguments = processArgs;

process = new NativeProcess();
process.start(nativeProcessStartupInfo);

解决
为了它的工作,我需要绝对的路径&#34; osascript&#34;这是运行脚本的命令。在这种情况下,该命令可以找到(以及许多其他好东西)
Macintosh HardDrive&gt; usr&gt; bin> osascript

注意:&#34; usr&#34;目录是隐藏的。路径是&#34; / usr / bin / osascript&#34;

var file:File = File.applicationDirectory.resolvePath("/usr/bin/osascript");

之后我将脚本文件名作为参数传递。它还需要将工作目录设置为脚本的目录,否则你得到:

  ERROR - osascript: script.scpt: No such file or directory

1 个答案:

答案 0 :(得分:0)

答案已添加到原帖中。